A1019 General Palindromic Number (20分)【C语言】
题目目的:求 N在 b进制下,是否为回文数;
只需要先求出 N的 b进制表示,然后通过判断对称位置是否相等即可,注意循环结束的条件和输出格式。
题目描述:
输入样例1:
27 2
输出样例1:
Yes
1 1 0 1 1
输入样例2:
121 5
输出样例2:
No
4 4 1
实现代码:
#include <stdio.h>
int main()
{
int A[30]={0};
int N, b, right, k=-1, i=0;
scanf("%d %d", &N, &b);
while(N!=0){
A[i++] = N % b;
N /= b;
k++;
}
right = k;
for(i=0; right>i; --right, ++i){
if(A[i]!=A[right]) break;
}
if(i==right) printf("Yes\n");
else printf("No\n");
for(i=k; i>0; --i){
printf("%d ", A[i]);
}
printf("%d", A[0]);
return 0;
}