https://www.patest.cn/contests/pat-a-PRactise/1019
#include <cstdio>#include <iostream>#include <cstring>using namespace std;int stnum[1000] = {0};int Transfer(int num,int b) { int cnt = 0; while (num) { int num2 = num%b; stnum[cnt] = num2; num = num/b; cnt++; } return cnt;}bool check(int a[],int cnt) { //check int i; for (i = 0; i < cnt/2; i++) {// cout << a[i] << " " << a[cnt-1-i]; if (a[i] != a[cnt-1-i]){ return false; break; } } return true;}int main(){ int n,b; scanf("%d %d",&n,&b); if (n == 0) { cout << "Yes" << endl; cout << 0; return 0; } int cnt = Transfer(n,b); if (check(stnum,cnt)) { cout << "Yes" << endl; for (int i = cnt-1; i >= 0; i--) { if (i == 0) cout << stnum[i]; else cout << stnum[i] << " "; } } else { cout << "No" << endl; for (int i = cnt-1; i >= 0; i--) { if (i == 0) cout << stnum[i]; else cout << stnum[i] << " "; } } return 0;}
新闻热点
疑难解答