http://acm.hdu.edu.cn/showproblem.php?pid=1282
AC代码:
#include <stdio.h>
__int64 num[50];
__int64 num2[100];
int i;
__int64 judge(__int64 x){
i=0;
while (x){
num[i++]=x%10;
x/=10;
}
for (int j=0,k=i-1;j<k;j++,k--){
if (num[j]!=num[k]){
return 1;
}
}
return 0;
}
int main(){
__int64 n,sum;
__int64 m;
while (scanf ("%I64d",&n)!=EOF){
m=n; int count=0;
while(judge(n)){
sum=num[0];
for (int j=1;j<i;j++){
sum=sum*10+num[j];
}
n+=sum;
num2[count]=n;
count++;
}
printf ("%d\n",count);
printf ("%I64d--->",m);
for (int j=0;j<count;j++){
if (j){
printf ("--->");
}
printf ("%I64d",num2[j]);
}
putchar('\n');
}
return 0;
}