关於数学题目

来源:百度知道 编辑:UC知道 时间:2024/06/04 21:34:38
请问我要用for 来写一个程式 , 当我输入195时..程式倒转过来变成591 , 并跟195相加 , 得786 并再次倒转过来变成687 , 并相加 , 直至他们相加变成9339 , 就是怎样倒转都是一样的时候 , 要怎样写?
这里的输入是指不同的数....并不只是195,,可以是其他.....

#include <iostream>
using namespace std;
int main()
{
int j,a[5],c=0,i=195;
for(;i!=9339;)
{
j=i;
int k=0,b=0;
for(;i!=0;)
{
a[k]=i%10;
i=i/10;
k++;
}
for(b=0;b<k;b++)
{
i=i*10+a[b];
}
i=i+j;
cout<<"执行第次"<<c<<"操作后:"<<endl;
cout<<i<<endl;
c++;
}
return 0;
}

以输入的三位数来写吧
int f(int n)
{int x,y,x,m,t;
x=0;y=0;z=0;m=0;
if(n>=100&&n<1000)
{x=n/100;
y=n/10-i*10;
z=n%10;
}
else if(n>=1000&&n<10000)
{ m=n/1000;
x=n/100-m*10;
y=n/10-m*100-x*10;
z=n%10;
} ;
t=m*100+x*100+y*10+z;
return t;
};
void main()
{int sum;
scanf("%d",&n);
for(;f(n);n=sum)
{if (f(n)==n) break;
sum=f(n)+n;
}