PAT_甲级_1019 General Palindromic Number

题目大意:

给出两个整数n、b,问十进制整数n在b进制下是否是回文数,若是,则输出Yes;否则,输出No.在此之后输出n在b进制下的表示。

算法思路:

先将整数N转化为b进制数,然后判断该数字是否为回文数,最后输出结果即可。

将十进制数N转化为b进制数方法:
vector r;//保存N的b进制数的每一位 
while(N!=0){
    r.push_back(N%b);
    N /= b;
}
判断该数字是否为回文数方法:
for(int i=0;i
注意点:
1、最后输出该数字的时候得倒序输出 
提交结果:

360截图1847012686100118.png

AC代码:
#include
#include

using namespace std;

int main(){
    int N,b;
    scanf("%d %d",&N,&b);
    //将N转化为b进制数
    vector r;//保存N的b进制数的每一位 
    while(N!=0){
        r.push_back(N%b);
        N /= b;
    }
    bool isPalindromic = true;
    // 判断是否为回文数 
    for(int i=0;i=0;--i){
        printf("%d",r[i]);
        if(i>0) printf(" ");
    }
    return 0;
}

你可能感兴趣的:(算法-数据结构,c++)