hdu1282回文数猜想
字符串的操作太弱了。。。。花了将近3个小时,还好一次就过了 不然真的会疯掉
[cpp]
#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;
}
补充:软件开发 , C++ ,