PAT甲级1019 General Palindromic Number
题目大意
将数a转化为b进制的字符串后,判断颠倒顺序后是否与原字符串相同。
如 27转化为二进制后为11011,颠倒顺序后依然为11011,因此输出Yes。
请注意输出为Yes而非YES或yes。
相信大家都可以顺利做出此题,下附代码。
#include<bits/stdc++.h>
#define N 100
using namespace std;
int a,b,c[N],d[N],t=1;
//将数字a转化为b进制字符串后判断是否满足条件
int fun(int a,int b){
while(a!=0){
c[t++]=a%b;
a=a/b;
}
c[t]='\0';
for(int i=1;i<t;i++)
if(c[i]!=c[t-i])
return 0;
return 1;
}
int main(){
cin>>a>>b;
int ans=fun(a,b);
if(ans==1)
cout<<"Yes";
else
cout<<"No";
cout<<endl;
for(int i=1;i<t;i++)
{
cout<<c[t-i];
//输出格式控制
if(i!=t-1)
cout<<" ";
else
cout<<endl;
}
return 0;
}