首先应该判断回文数,其实就是反过来后是否相等;
比如:
453 = 3x100+5x10+4?
125 = 5x100+2x10+1?
即设置一个初始数,让其循环为 新数 = 新数*10 + 个位数 模式
我们知道一个整数求模就是个位数,除以10就是丢掉个位数;
所以回文数判断代码:
int main()
{
int xinshu = 0;
int n, i;
scanf("%d", &n);
i = n;
while (i != 0)
{
xinshu = xinshu * 10 + i % 10;
i = i / 10;
}
if (xinshu == n)
printf("%d\n", xinshu);
xinshu = 0;
return 0;
}
然后开始循环所有的数字:
{
int xinshu = 0;
int n, i, j;
scanf("%d", &n);
for (i = 1, j = 1; j <= n; j++)
{
i = j;
while (i != 0)
{
xinshu = xinshu * 10 + i % 10;
i = i / 10;
}
if (xinshu == j)
printf("%d\n", xinshu);
xinshu = 0;
}
return 0;
}
京公网安备 11010502036488号