當前位置:編程學習大全網 - 編程語言 - 水仙花的數量怎麽算?

水仙花的數量怎麽算?

第壹,水仙花的數量(自戀

Number)也叫pluperfect。

數字的

不變的,

PPDI)、自戀數、自我力量數、阿姆斯特朗數或阿姆斯特朗數(阿姆斯特朗

$ number),水仙花的數量指的是壹朵

位數,它的每壹位的位數

三次冪之和等於自身(例如:1 ^ 3

+

5^3+

3^3

=

153)。

2.示例:查找100到100,000範圍內的所有水仙花。

思維分析:

1,整體框架

用for遍歷指定區間,確定當前循環變量I是否為水仙花的數量;如果是,則輸出到控制臺;問題細分為:判斷壹個自然數I是否為水仙花數,具體過程在步驟2中給出。

2.子框架:決策過程

大致分為兩步:

2.1,準備參數

根據I,計算I的總位數d(digit);總和;I中每個數的d次方;

2.2.判斷結果

比較sum和I值,將結果發送到步驟1;

這時問題進壹步細化為:計算總位數d和各位數d的冪之和,具體結果分別由步驟3和4給出;

3.d的計算

將n除以10,商被截斷取整:n/=10,然後放入while語句,統計商變成0的總次數,+1的次數為d;

4.總和的計算

根據定義,我們只需要用for循環得到自然數n的每個數位的值,然後用sum累加每個數位的d次冪。

特定代碼:

運行結果:

擴展數據:

用C語言編程分析水仙花號的實例

1,問題描述

輸出所有的“水仙花號”。所謂“水仙花數”,是指三位數,其立方和等於數字本身。比如153是“水仙花號”因為:153。

=

13 +

53 +

33。

2.問題分析

根據“水仙花數”的定義,判斷壹個數是不是“水仙花數”,最重要的是把給定的三位數的單位、第十位和第壹百位分開,求立方和(設為S)。如果S等於給定的三位數,

三位數是“水仙花的數量”,否則,就不是。

3.算法設計

“水仙號”是指滿足壹定條件的三位數。根據該信息,整數值的範圍可以確定如下

100?999。相應的循環條件如下:

4.代碼描述:

n除以100得到數hun其中n以百為單位;將(n-i*100)除以10(或者先將n除以10,然後取模10 n/10%10)得到數字十;其中n在第十位;拿剩下的;er的n到10,得到單位為n的數ind求這三個數的立方和是否等於自身,如果等於,這個數就是水仙花的個數。

拆分每個位置的數值有很多算法,根據不同的情況選擇不同的算法(對於同壹個問題,不同算法的效率有時是不壹樣的)。

以下是完整的代碼:

運行結果:

結果

是:153

370

371

407

參考資料:

搜狗百科-水仙號

  • 上一篇:用C++或C寫紙牌遊戲
  • 下一篇:松下燈具怎麽樣?松下燈具有哪些種類?
  • copyright 2024編程學習大全網