C语言找回文数

寻找输出11到999之间的数m.m,m的平方,m的立方均为回文数,将其输出.

以下程序通过测试. 附图. #include <stdio.h>bool e_palind(int Number)
{
int i,j=0,sum=Number;
while(sum)
{
i=sum%10;
j=j*10+i;
sum=sum/10;
}
if(j!=Number) return false;
return true;
}int main()
{
long int m ;
for(m = 11 ; m < 1000 ; m++)
{
if(e_palind(m)&&e_palind(m*m)&&e_palind(m*m*m))
{
printf("m=%4ld, m*m=%6ld, m*m*m=%8ld\n", m, m*m, m*m*m);
}
}
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-16
满足条件的结果是下面三个数:
11 101 111

代码如下:

int svalue(long m){
int i,j,n[10],ok=1;
for (i=0;i<10;i++)n[i]=0;
i=0;
while(m>0) {n[i]=m%10; m/=10; i++;}
i--;
for(j=0;j<i/2;j++) if (n[j]!=n[i-j]) ok=0;
return ok;
}

main(){
long i;
for (i=11;i<=999;i++)
if(svalue(i) && svalue(i*i) && svalue(i*i*i))
printf("%d\t",i);
}本回答被网友采纳
第2个回答  2018-05-02
不应该是char吧,是int 啊
相似回答