求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。)
该程序求的是六合数,只需更改其中9的个数,就可以求水仙花数等其他数。
程序代码 public static void main(String[] args) {
for (int i = 1; i < 999_999; i++) {
int tmp = i;
int count = 0;//计算i多少位
while (tmp != 0){
count++;
tmp= tmp / 10;
}
tmp = i;
int sum = 0;
while (tmp != 0){
sum +=Math.pow(tmp % 10,count);
tmp /= 10;
}
if (sum == i){
System.out.println(i);
}
}
}
运行结果


![[Java]水仙花数 [Java]水仙花数](http://www.mshxw.com/aiimages/31/756754.png)
