回文数概念:给定一个数,这个数顺读和逆读都是一样的。例如:121,1221是回文数,123,1231不是回文数。
核心思想:将整数逆序后形成另一整数,判断两个整数是否相等来实现的。
由"水仙花"数出发,进而考虑回文数(例如,121,1234321...),得到遍历一个数的每一位的方法.
for(i=a ; i<=b ; i++) 其中 i 在循环中完成了[a,b]的遍历;
for(i=a ; i<=b ; i++) 其中 arr[i] 完成了数组一段的遍历;
for(i=n ; i ; i/=10 ) 其中 i % 10 完成了对 n 的每一位的遍历;
for(i=n ; i ; i/=sn) 其中i % sn 完成了对n在sn进制下每一位的遍历.
int IsEchoNum(int num)
{
int n;
int tmp,sum=0;
for (n = num; n; n /= 10)
{
tmp = n % 10;
sum = sum * 10 +tmp;
}
if (num == sum)
{
printf("%d是回文数", num);
}
else
{
printf("%d不是回文数", num);
}
}
int main()
{
int num = 123454321;
IsEchoNum(num);
system("pause");
return 0;
}