1019. General Palindromic Number (20)

来源:互联网 发布:网络天天分红投资公司 编辑:程序博客网 时间:2024/05/17 20:32

目录

    • 目录
    • 原题
    • 思路
    • 代码

原题

1019. General Palindromic Number (20)

思路

对N进行除以b取余,一直到N为零为止。然后判断所有余数是否回文。

代码

#include <iostream>#include <vector>#include <cstdio>#include <cstdlib>using namespace std;int main(int argc, const char * argv[]) {    vector<int> newnum;    setvbuf(stdin, new char[1 << 20], _IOFBF, 1 << 20);    setvbuf(stdout, new char[1 << 20], _IOFBF, 1 << 20);    int num, base;    scanf("%d %d", &num, &base);    if(!num){        printf("%s\n%d\n", "Yes", num);        return 0;    }    while(num){        newnum.push_back(num % base);        num /= base;    }    int i, j;    for(i = 0, j = static_cast<int>(newnum.size()) - 1; i <= j; i++, j--){        if(newnum[i] != newnum[j]){            break;        }    }    if(i <= j){        puts("No");    }    else{        puts("Yes");    }    int temp = newnum.back();    newnum.pop_back();    printf("%d", temp);    while(!newnum.empty()){        temp = newnum.back();        newnum.pop_back();        printf(" %d", temp);    }    putchar('\n');    return 0;}
0 0
原创粉丝点击