水仙花數:水仙花數是三位數,它的各位數字的立方和等于這個三位數本身,例如:370=33+73+00;371=33+73+13,370、371就是一個水仙花數
注意:要判斷一個三位數是不是水仙花數,得先取得這個三位數的的個位,十位和百位
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
|
public class mytest { public static void main(string[] args) { /* 打印1-1000的水仙花數 水仙花數:例如 153=1*1*1+5*5*5+3*3*3*/ //定義標記,水仙花數起始值位0 int count = 0 ; //要找出1000以內的水仙花數,先要遍歷其每個數字;因為水仙花數是三位數所以從100開始 for ( int i = 100 ; i < 1000 ; i++) { //取出個位 int g = i% 10 ; //取出十位 int s = i/ 10 % 10 ; //取出百位 int b = i/ 100 ; //判斷每個位上的立方和是否等于它自己,如果是則打印出該數字 if (g*g*g+s*s*s+b*b*b==i){ //如果是水仙花數,count加一 count++; system.out.println(i); } } system.out.println( "1000以內水仙花數的個數:" +count); } } |
輸出結果:
153
370
371
407
1000以內水仙花數的個數:4
以上所述是小編給大家介紹的java打印1-1000以內的水仙花數詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!