題目
題目:打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位
數字立方和等於該數本身。例如:153是一個“水仙花數”,因為153=1的三次方
+5的三次方+3的三次方。
小知識
水仙花數只是自冪數的一種,嚴格來說3位數的3次冪數才稱為水仙花數。
其他位數的自冪數名字:
一位自冪數:獨身數
兩位自冪數:沒有
三位自冪數:水仙花數
四位自冪數:四葉玫瑰數
五位自冪數:五角星數
六位自冪數:六合數
七位自冪數:北斗七星數
八位自冪數:八仙數
九位自冪數:九九重陽數
十位自冪數:十全十美數
常見水仙花數
三位的水仙花數共有4個:153,370,371,407;
四位的四葉玫瑰數共有3個:1634,8208,9474;
五位的五角星數共有3個:54748,92727,93084;
六位的六合數只有1個:548834;
七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
八位的八仙花數共有3個:24678050,24678051,88593477
......
題目分析
因為我們只求三位數的水仙花數,所以關鍵點就是求出一個三位數的個位、十位、百位。利用for循環控制100-999個數,每個數分解出個位,十位,百位。
比如一個數153,個位可以用取模:153%10=3得到;
十位可以先除10再對10取模:153/10%10=5;
百位直接除100即可:
153/100=1。代碼如下:
好了,歡迎大家提供更好的方法~~~
閱讀更多 hello程序媛 的文章