3 【程序 3 水仙花数】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例 如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。
程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。
package cskaoyan; import org.junit.Test; public class cskaoyan3 { @Test public void shuiXianHua() { int min = 100; int max = 999; int ge = 0; int shi = 0; int bai = 0; for (int i = min; i <= max; i++) { ge = getGe(i); shi = getShi(i); bai = getBai(i); if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) { System.out.println(i); } } } public int getGe(int number) { return number % 10; } public int getShi(int number) { return number / 10 % 10; } public int getBai(int number) { return number / 100; } }