题目

code
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
bool Judge(int ans[],int num){
for(int i=0;i<num/2;i++){
if(ans[i]!=ans[num-1-i])
return false;
}
return true;
}
int main(){
int N,b;
scanf("%d%d",&N,&b);
int ans[40],num=0;
do{
ans[num++]=N%b;
N=N/b;
}while(N!=0);
if(Judge(ans, num)){
printf("Yes\n");
}
else printf("No\n");
for(int i=num-1;i>=0;i--){
printf("%d",ans[i]);
if(i!=0){
printf(" ");
}
}
return 0;
}
总结
- 判断回文 写个函数 不断判断取false 否则true
- 十进制变b进制,除基取余法,然后倒着输出