|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,j,sum,temp;
sum=0;
for(i=998001;i>=10000;i--) //从998001到10000依个判断是否为回文数
{
for(j=i;j;j/=10)
{
temp=j%10;
sum=sum*10+temp; //求这个数的倒数
}
if(sum==i) //若倒数与原数相等,则为回文数
{
for(a=100;a<=999;a++) //求两个三位数,并且这两个三位数相乘等于回文数
{
for(b=100;b<=999;b++)
{
if(a*b==sum)
{
printf("%d*%d=%d",a,b,sum);
goto END;
}
}
}
}
}
END:
return 0;
}
本意是打印两个三位数,并且这两个三位数相乘恰好等于回文数,就是小甲鱼第一阶段考核的最后一个题。
但是,程序一运行就结束了,我看代码好像没问题啊,求大佬们帮忙看看。
- #include <stdio.h>
- #include <stdbool.h>
- bool isPalindrome(int num){
- int i, t;
- for(t = num, i = 0; t; t /= 10) i = i * 10 + t % 10;
- return i == num;
- }
- int main(void){
- for(int n = 998001; n > 10000; n--) if(isPalindrome(n)) printf("%d\n", n);
- }
复制代码
|
|