题意:
输入两个数,N和b,问N的b进制数是否是回文数。
分析:
该题分为两个问题,如何求任意进制的数和如何判断一个数是否是回文数。显然借助字符串来处理会容易得多。
代码:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
int N,b;
cin>>N>>b;
vector<string>list;
while(N>0)
{
list.push_back(to_string(N%b));
N/=b;
}
string isPalid="Yes";
auto begin=list.begin();
auto end=list.end()-1;
while(begin<end)
{
if(*begin!=*end)
{
isPalid="No";
break;
}
++begin;
--end;
}
cout<<isPalid<<endl;
for(auto it=list.end()-1;it!=list.begin();--it)
{
cout<<*it<<' ';
}
cout<<*list.begin();
return 0;
}