寻找并输出11~999之间的数m,它满足m、m的平方、m的立方均为回文数。怎么用c语言编程
来源:百度知道 编辑:UC知道 时间:2024/06/24 11:06:32
结果是下面三个数:
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);
}
以上程序在TURBO-C 2.0上调试通过。
我不会C语言,不过我可以给你一个java版的参考,希望对你能有用
public static void main(String [] ages){
for(int i=11;i<=999;i++){
if(check(i) && check(i*i) && check(i*i*i)){
System.out.println(i+"是回文数");
}}
}
public static boolean check(int i){
boolean b = true; //默认为是回文数
String is = i+"";
int len = is.length();
for(int j=0;j<len;j++){
if(is.charAt(j) != is.charAt(len-j-1)){
b = false;
break; /