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 }

 

posted @ 2016-03-15 00:11  Java-100  阅读(264)  评论(1编辑  收藏  举报

进入Java-100博客   博客声明