您的位置:首页 > 其它

1019. General Palindromic Number (20)

2013-03-11 09:09 295 查看
考察回文以及任意进制数的转化

#include<iostream>
#include<vector>

void GetReverseNumberBaseD(int N, int D, std::vector<int>& a)
{
do
{
int temp = N%D;
a.push_back(temp);
N /= D;
}while(N != 0);
}
bool IsPalindromic(const std::vector<int>& a)
{
int len = (int)a.size();
for(int i = 0; i < len; ++i)
{
if(a[i] != a[len-1-i])
return false;
}
return true;
}
void ReverseOutput(const std::vector<int>& a)
{
int len = (int)a.size();
for(int i = len-1; i >= 0; --i)
{
if(i != 0)
printf("%d ",a[i]);
else
printf("%d\n",a[i]);
}
}
int main()
{
int N, D;
while(scanf("%d%d",&N,&D) != EOF)
{
std::vector<int> reverseNumBaseD;
GetReverseNumberBaseD(N, D, reverseNumBaseD);

if( IsPalindromic(reverseNumBaseD) )
{
printf("Yes\n");
}
else printf("No\n");
ReverseOutput(reverseNumBaseD);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: