回文数就是它的倒序等于它本身,一个回文数的生成方法可以是数加上其倒序数,重复这个过程直到其为一个回文数,所以判断回文数的关键在于生成其倒序数。
倒序数的程序代码为:
int inverse(int n){int k=0;
while(n){
k=k*10+n%10;
n/=10;
}
return k;
}
生成回文数的过程:int ispal(int n){
while(inverse(n)!=n){
n+=inverse(n);
}
return n;
}
现在给定一个数n,在第k次相加之后判断是否可以得到回文数,完整代码为:
#include<stdio.h>
int inverse(int n){
int k=0;
while(n){
k=k*10+n%10;
n/=10;
}
return k;
}
int result(int n){
int i=0;
while(inverse(n)!=n){
n+=inverse(n);
i++;
}
return i;
}
void main()
{
int n=67,k=2;
if(result(n)<=k)
printf("在%d次可以得到回文数",k);
else
printf("在%d次不可以得到回文数",k);
}