求n位水仙花數


求n位水仙花數

A.兩個關鍵

1.n位水仙花數的范圍是什么?

n位水仙花數的范圍是[10n-1,10n)

2.如何判斷是否為水仙花數

核心操作:

2-1.如何得到每一位?

A.核心思想

對得到的數進行先取余后取整的循環操作。

B.具體操作

用一變量g來得到將要判斷的值,用變量h來依次存放每一位,g取余后把值賦給變量h,然后g再進行除10運算,如此循環往復,直到h依次得到每一位為止。

2-2.如何將得到的每一位進行n次方?

A.核心思想

調用Math.pow()函數即可(注:Math.pow()函數的返回值是double類型的數據)

B.具體操作

設一個變量t來求和,把操作1的變量h應用Math.pow()函數並把其應用后的值加入到t中,然后循環往復,直到結束該循環。(注:因為水仙花數一般是定義成int類型,所以在賦值運算過程中要把Math.pow()函數得到的值進行強制類型轉換)

B.易錯點分析

1.Math.pow()函數的返回值是double類型,

a.賦值運算,若賦給非double類型的值時都必須執行強制類型轉化操作(目的:轉換成相同類型)

b.比較運算,系統會自動執行自動類型轉化操作(轉換方向:級別更高的類型),此時無需執行強制類型轉化操作。

2.用來求和的變量t在每次判斷完(是否是水仙花數)之后都需要歸零

3.必須用一個新的變量(本題為g)來存放將要判斷的值。

C.代碼以及運行結果截圖

代碼截圖

 

運行結果截圖

 

D.所寫程序的優缺點

優點:適用范圍較廣,可以根據用戶的需要來進行鍵盤輸入

缺點;運行所花時間有點長而且數據夠大時運行不了(其程序運行時占的內存空間不小)

E.相關英語詞匯積累

1.水仙花: daffodil; narcissistic;其別名: 自戀數、自冪數或阿姆斯壯數(Armstrong number).

2.數;number;

3.歸零: return to zero

4.核心思想:core thought.

5.位數: places

6.易錯分析:Easy to fault analysis

7.[計] totalizer 加法計算器;

8.[計] accumulator 蓄電池;[計] 累加器;積聚者;

9.[計] assignment operation賦值運算

10.[計] comparison operation比較運算


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM