用java打印出所有的“水仙花数”。所谓的“水仙花数”是指一个三位数,其各位数字立方和等于该数本身

如题所述

public static void main(final String[] args) {
System.out.println("所有的水仙花数如下:");
int x; // 百分位
int y; // 十位
int z; // 个位
for (int i = 100; i < 1000; i++) {
x = i / 100;
y = (i- x * 100) / 10;
z = i % 10;
if (i == (cubic(x) + cubic(y) + cubic(z))) {
System.out.println(String.format("找到水仙花数:%d", i));
}
}
}
private static int cubic(final int n) {
return (n * n * n);
}

所有的水仙花数如下:

找到水仙花数:153

找到水仙花数:370

找到水仙花数:371

找到水仙花数:407

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-29
最烂 最容易懂得代码

for(int i=100;i<1000;i++){
int a= Integer.valueOf(String.valueOf(i).substring(0,1));
int b= Integer.valueOf(String.valueOf(i).substring(1,2));
int c= Integer.valueOf(String.valueOf(i).substring(2));
int d = a*a*a + b*b*b + c*c*c;
if(i==d){
System.out.println(i);
}
}