用java编程,寻找并输出11~999之间的数m,它满足m、m的平方、m的立方均为回文数。
3个回答
展开全部
public class Cat {
public static void main(String[] args) {
for(int i = 11; i <= 999; i++){
int square = (int) Math.pow(i, 2);
int cube = (int)Math.pow(i, 3);
if(isPlalindrome(i) && isPlalindrome(square) && isPlalindrome(cube)){
System.out.print(i + ", " + i + "*" + "i=" + square);
System.out.println(", " + i + "*" + i + "*" + i + "=" + cube);
}
}
}
private static boolean isPlalindrome(int number) {//检查是否是回文数
String num = String.valueOf(number);
return new StringBuffer(num).reverse().toString().equalsIgnoreCase(num);
}
}
-------------
11, 11*i=121, 11*11*11=1331
101, 101*i=10201, 101*101*101=1030301
111, 111*i=12321, 111*111*111=1367631
public static void main(String[] args) {
for(int i = 11; i <= 999; i++){
int square = (int) Math.pow(i, 2);
int cube = (int)Math.pow(i, 3);
if(isPlalindrome(i) && isPlalindrome(square) && isPlalindrome(cube)){
System.out.print(i + ", " + i + "*" + "i=" + square);
System.out.println(", " + i + "*" + i + "*" + i + "=" + cube);
}
}
}
private static boolean isPlalindrome(int number) {//检查是否是回文数
String num = String.valueOf(number);
return new StringBuffer(num).reverse().toString().equalsIgnoreCase(num);
}
}
-------------
11, 11*i=121, 11*11*11=1331
101, 101*i=10201, 101*101*101=1030301
111, 111*i=12321, 111*111*111=1367631
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)
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上调试通过。
程序如下:
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)
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上调试通过。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询