求助!找出最大的有由个三位数乘积构成的回文数。
一个回文数指的是从左向右和左右向左读都一样的数字。最大的由两个两位数乘积构成的回文数是9009 = 91 * 99.找出最大的有由个三位数乘积构成的回文数。
下面的代码那里出问题了为什么会无限循环呢?请高手帮忙啊
#include<stdio.h>
#include<stdlib.h>
int fun(int n,int d)
{
int s=0,t=n;
while(t)
{
s=s*d+t%d;
t/=d;
}
return s==n;
}
void main()
{
int i,j;
int m;
for(i=999;i>100;i--)
{
for(j=999;j>100;j--)
{
m=i*j;
if(fun(m,10))
printf("%5d = %5d * %5d",m,i,j);
}
}
}
[ 本帖最后由 kmj_IT 于 2012-3-21 13:21 编辑 ]