【PAT甲级】1019 General Palindromic Number (20 分)

题意:

输入两个正整数n和b(n<=1e9,2<=b<=1e9),分别表示数字的大小和进制大小,求在b进制下n是否是一个回文串,输出“Yes”or“No”,并将数字n在b进制下打印出来,用空格间隔开每一位数字。

AAAAAccepted code:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int a[1007];
 4 int main(){
 5     int n,b;
 6     cin>>n>>b;
 7     int cnt=0;
 8     while(n){
 9         a[++cnt]=n%b;
10         n/=b;
11     }
12     int flag=0;
13     for(int i=1;i<=cnt/2;++i)
14         if(a[i]!=a[cnt-i+1])
15             flag=1;
16     if(!flag)
17         cout<<"Yes"<<"\n";
18     else
19         cout<<"No"<<"\n";
20     for(int i=cnt;i>1;--i)
21         cout<<a[i]<<" ";
22     cout<<a[1];
23     return 0;
24 }

 

 

 

posted @ 2019-08-14 17:37  sewage  阅读(192)  评论(0编辑  收藏  举报