您的位置:首页 > 其它

【PAT Advanced Level】1019. General Palindromic Number (20)

2013-11-04 21:56 501 查看
这题就是简单的模拟题,为了确保不越界,我使用了long long

要注意加入0的判断!

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
long long a, b;
cin>>a>>b;

if(a == 0)
{
cout<<"Yes"<<endl<<0<<endl;
return 0;
}

vector<long long> v;
while (a != 0)
{
v.push_back(a % b);
a /= b;
}
bool flag = true;
int tmp = v.size()/2;
while (tmp--)
{
if(v[tmp] != v[v.size() - tmp - 1])
{
flag = false;
break;
}
}
if(flag)
cout<<"Yes"<<endl;
else cout<<"No"<<endl;
reverse(v.begin(), v.end());
for(int i = 0; i < v.size(); i++)
{
if(i == 0)
cout<<v[i];
else
cout<<" "<<v[i];
}
cout<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: