#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=2000+5;
char s1[N],s2[N];
int main()
{
scanf("%s",s1);
int flag;
for(int i=1;i<=11;i++)
{
flag=1;
int len=strlen(s1);
for(int j=0;j<len;j++)
if(s1[j]!=s1[len-1-j])
{
flag=0;
break;
}
if(flag)
{
printf("%s is a palindromic number.\n",s1);
break;
}
if(i==11) break;
memcpy(s2,s1,sizeof(s2));
reverse(s2,s2+len);
printf("%s + %s = ",s1,s2);
int leave=0;
for(int j=0;j<len;j++)
{
leave=leave+s1[j]-'0'+s2[j]-'0';
s2[j]='0'+leave%10,leave/=10;
}
if(leave) s2[len++]=leave+'0';
s2[len]='\0';
reverse(s2,s2+len);
memcpy(s1,s2,sizeof(s2));
printf("%s\n",s1);
}
if(!flag) printf("Not found in 10 iterations.\n");
return 0;
}
PAT (Advanced Level) Practice 1136 A Delayed Palindrome (20 分)
最新推荐文章于 2024-03-01 17:55:31 发布