用Java编写水仙花数是指其个位。十位。百位三个数字的立方等于这个三位数本身.求出所有的水仙花数

如题所述

public class TestShuiXian {

public static void main(String[] args) {

for(int i = 100; i < 100000000; i++) {
String result = String.valueOf(i);
char[] substr = result.toCharArray();
int x = Integer.parseInt(String.valueOf(substr[substr.length - 1]));
int y = Integer.parseInt(String.valueOf(substr[substr.length - 2]));
int z = Integer.parseInt(String.valueOf(substr[substr.length - 3]));
if(i == x * x * x + y * y * y + z * z * z ) {
System.out.println("水仙数 : " + i);
}
}
}
}
稍稍算了一下,原来只有三个水仙数,还都是三位数.刚看到你的提问,还以为不光是三位数有水仙数呢.一楼正解.我的麻烦.
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-06
public class Fun {
public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j=0;j<=9;j++){
for(int k=0;k<=9;k++){
if((i*100+j*10+k)==(i*i*i+j*j*j+k*k*k)){
int result=i*100+j*10+k;
System.out.println("水仙花数为:"+result);
}
}
}
}

}

}本回答被网友采纳
第2个回答  2011-03-22
public class Test {
public static void main(String args[]) {
int a, b, c;
int t = 0;
for (int i=100; i < 999; i++) {
a = i/100; //baiwei
b = (i%100)/10; //shiwei
c = (i%100)%10; //gewei
t= a*a*a + b*b*b + c*c*c;
if (i == t)
System.out.println(i);
}
}
}