Java重写《C经典100题》 --13
【程序13】
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
2.程序源代码:
1 /*本文转自博客:www.cnblogs.com/java-100 2 【程序13】 3 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 4 例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 5 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 6 */ 7 8 public class Java13 { 9 10 public static void main(String[] args) { 11 System.out.print("水仙花数有:"); 12 for (int i = 1; i <= 9; i++) { 13 for (int j = 1; j <= 9; j++) { 14 for (int k = 1; k <= 9; k++) { 15 int a = i * 100 + j * 10 + k; 16 int b = (int) Math.pow(i, 3) + (int) Math.pow(j, 3) 17 + (int) Math.pow(k, 3); 18 if (a == b) { 19 System.out.print(a + " "); 20 } 21 } 22 } 23 } 24 } 25 }