怎么弄搞了半天,我们上面有时间限制,搞了好多次说超出时间限制搞不了贼蠢
#include<stdio.h>
int main()
{
int i,m,k;
for (i=100;i<1000;i++)
{
k=i;
m=0;
while (k>0)
{
m=m*10+k%10;
k=m/10;
}
if (m==i)
{
printf("%d\n",i);
}
}
return 0;
}
100到999的回文,很简单,只需要检查百位和个位是否相等就可以了啊
#include <stdio.h>
int main()
{
int num = 0;
for(int i=100;i<=999;i++)
{
if(i%10 == i/100)
{
printf("%d ",i);
num++;
}
}
printf("\n共%d个回文\n",num);
return 0;
}
不要思维定式,不要总想着从100到999遍历,完全可以考虑自己组装数据啊。三位回文数的形式肯定是aba的形式,所以百位和个位从1到9开始遍历,并保证百位和个位一致,十位数从0到9遍历输出就可以了,代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 9; i++)
{
for (j = 0; j <= 9; j++)
printf("%d ", i * 100 + j*10 + i);
}
return 0;
}