java-基础练习题3

【程序3】 
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

方法:把一个三位数,分解为个位,十位,百位,用到了取余运算,然后再把获取到的三个数来个三次方相加==三位数

     private boolean flowerNumber(int number) {
boolean flag = true;
int one = number % 10;
int ten = number / 10 % 10;
int hundred = number / 100 % 10;
double v = Math.pow(one, 3) + Math.pow(ten, 3) + Math.pow(hundred, 3);
if (number == (int) (v)) {
flag = true;
} else {
flag = false;
}
return flag;
}

测试代码:

     @Test
public void test3() {
for (int i = 100; i <= 999; i++) {
if (flowerNumber(i)){
System.out.print(i+",");
}
}
System.out.println();
}

测试结果:

153,370,371,407,
上一篇:'Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format'


下一篇:Python_性能测试