题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
程序设计:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
public class exp2{ public static void main(String args[]){ int i= 0 ; math mymath = new math(); for (i= 100 ;i<= 999 ;i++) if (mymath.shuixianhua(i)== true ) System.out.println(i); } } class math { public int f( int x) { if (x== 1 || x== 2 ) return 1 ; else return f(x- 1 )+f(x- 2 ); } public boolean iszhishu( int x) { for ( int i= 2 ;i<=x/ 2 ;i++) if (x % 2 == 0 ) return false ; return true ; } public boolean shuixianhua( int x) { int i= 0 ,j= 0 ,k= 0 ; i=x / 100 ; j=(x % 100 ) / 10 ; k=x % 10 ; if (x==i*i*i+j*j*j+k*k*k) return true ; else return false ; } } |
更多内容请大家关注服务器之家之前发布的文章。