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;
}
}