hdu1282回文数猜想
hdu1282回文数猜想
字符串的操作太弱了。。。。花了将近3个小时,还好一次就过了 不然真的会疯掉
#include<iostream>using namespace std;int main(){char x[20],y[20],t[100][20];int i,j,num,len,n;while(scanf("%s",x)!=EOF){num=0;while(1){strcpy(t[num],x);len=strlen(x);for(i=0;i<len;i++)y[len-1-i]=x[i];y[len]='\0'; //翻转 if(strcmp(x,y)==0)break; //不相等 num++; //相加次数+1 for(i=0;i<len;i++) x[i]+=y[i]-'0'; //相加 ,得到新的x//printf("!!相加后x=%s\n",x);for(i=len-1;i>0;i--)if(x[i]>'9'){x[i-1]++;x[i]-=10;}if(x[0]>'9'){x[0]-=10;for(i=len;i>0;i--)x[i]=x[i-1];x[0]='1';x[len+1]='\0';}//printf("!!进位后x=%s\n",x);//system("pause");}printf("%d\n%s",num,t[0]);for(i=1;i<=num;i++)printf("--->%s",t[i]);printf("\n");}return 0;}