java例题_03 水仙花数
1 /*3 【程序 3 水仙花数】
2 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
3 例如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。
4 程序分析:利用 for循环控制 100-999 个数,每个数分解出个位,十位,百位。
5 */
6
7 /*分析
8 * 用for循环遍历所有的三位数,再通过“/” “%”将三位数分离为三个数字再倒置组合为新的三位数,判断新的三位数是否等于原三位数,
9 * 如果相等,则是水仙花数
10 */
11
12
13 package homework;
14
15 public class _03 {
16
17 public static void main(String[] args) {
18 // TODO Auto-generated method stub
19 //定义三个形参a,b,c分布用来表示三位数的三个组成数字
20 int a,b,c;
21 //定义两个参数分别表示原三维数和新的三位数;、
22 int n,x;
23 //利用for循环遍历所有的三位数
24 for (int i=100; i<=999; i++) {
25 n=i; //得到原三位数
26 a=n%10; //提取个位
27 n=n/10;
28 b=n%10; //提取十位
29 c=n/10; //提取百位
30 x=a*a*a+b*b*b+c*c*c; //组成新的三位数
31 //判断新的三位数是否等于原三位数
32 if(x==i) {
33 System.out.print(i+" ");
34 }
35 }
36
37 }
38
39 }