1019 General Palindromic Number
回文数
Input Specification:
Each input file contains one test case. Each case consists of two positive numbers N and b, where 0<N≤109 is the decimal number and 2≤b≤109 is the base. The numbers are separated by a space.
Output Specification:
For each test case, first print in one line Yes
if N is a palindromic number in base b, or No
if not. Then in the next line, print N as the number in base b in the form “ak ak−1 … a0”. Notice that there must be no extra space at the end of output.
Sample Input 1:
27 2
Sample Output 1:
Yes
1 1 0 1 1
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int N;
int base;
scanf_s("%d%d", &N, &base);
int re[100] = { 0 };
int len = 0;
while (N)
{
re[len] = N % base;
N = N / base;
len++;
}
int i;
for (i = 0; i < len / 2; i++)
{
if (re[i] != re[len - i-1])
{
printf("No\n");
break;
}
}
if (i >= len / 2)
{
printf("Yes\n");
}
for (i = len - 1; i >= 0; i--)
{
printf("%d", re[i]);
if (i > 0)
{
printf(" ");
}
}
printf("\n");
}