所谓水仙花数就是一个三位数,它各位的立方之和加起来的数值等于本身,比如说,153,153 = 1 + 125 + 27 ;
知道了什么是水仙花数,到这里的思路就很清晰了,我们当然是获取这个三位数的个位,十位,百位上的数字,然后将他们的立方加起来判断是否等于这个数就可以了。
代码如下:
public class FlowerNumber {
public static void main(String[] args) {
flower();
}
public static void flower() {
int x = 0,y = 0,z = 0;
for(int i = 100;i<1000;i++) {
x = i/100;
y = (i%100)/10;
z = (i%100)%10;
if(x*x*x + y*y*y +z*z*z == i) {
System.out.print(i+" ");
}
}
}
}
结果:
153 370 371 407
以上代码只是实现功能,或说明思路,必要的判断(传入的是不是一个三位数等)没有添加,可以自行完善!