水题,一次过,刚开始不想用另一个函数的,实在不行了就开了个函数,一次过……不废话了……
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int cmp(int n)
{
int i,a,b,m=0;
i=-1;
a=b=n;
while(b)
{
i++;
b/=10;
}
while(a)
{
m+=(a%10)*(int)pow(10.0,i--);
a/=10;
}
return m;
}
int main()
{
int n;
while(cin>>n)
{
if(cmp(n)==n) {cout<<'0'<<endl<<n<<endl;continue;}
int i,j=0,k=0,m,a,b,c,s[1000];
s[k++]=n;
m=n;
while(1)
{
j++;
i=-1;
a=b=c=m;
m=0;
while(b)
{
i++;
b/=10;
}
while(a)
{
m+=(a%10)*(int)pow(10.0,i--);
a/=10;
}
m+=c;
s[k++]=m;
if(m==cmp(m))
{
cout<<j<<endl<<s[0];
for(i=1;i<k;i++)
cout<<"--->"<<s[i];
cout<<endl;
break;
}
}
}
return 0;
}