C 實現水仙花數判斷例項

2022-09-20 18:27:12 字數 943 閱讀 7440

目錄

水仙花數(narcissistic number)也被稱為超完全數字不變數(pluperfect digital invariant, ppdi)或阿姆斯特朗數(armstrong number),是指乙個 3 位數,它的每個位上的數字的 3次冪之和等於它本身。例如:1^3 + 5^3+ 3^3 = 153。

找出指定範圍內的所有水仙花數需要我們利用迴圈的相關知識解決,本文將從思路分析入手,帶大家逐步簡化問題,直到**實現。

如果乙個數是水仙花數,那麼它的每個位上的數字的 3次冪之和等於它本身,因此我們需要分離出它各個位置上的數字,並對他們的三次冪求和,與原數相等即可。

問題就簡化為了分離各個位置上的數,對於百位,我們可以知道,因為資料型別為 int 整型,因此原程式設計客棧數除以100即為百位數;對於十位,將原數模100後,除以10即可;對於個位,模10即可獲得。

到此,整體思路已經明確,我們將其轉化為**。

我們首先來寫乙個函式,這個函式的功能是判斷乙個數是否為水仙花數,如果是,返回真;否則,返回假。

**如下(示例):

/* alkaid#3529 */

bool narcissus(int a)

在現有函式基礎上,我們只需對所有三位數迴圈判斷,若為真,輸出;否則,跳過即可。

**如下(示例):

/* alkaid#3529 */

#include

using namespace std;

bool narcissus(int a);

int main()

return 0;

}bool narcissus(int a)

我們執行一下程式,看看結果如何。

經檢驗,**執行無誤,結果正確,可以放心複製貼上。

水仙花數的判斷是常見的基礎題型,除此之外,後續會陸續推出 c++ 的高階題目,感興趣且想學習的話不妨點點關注,你的點讚是我更新的最大動力哦!

判斷水仙花數

在控制台輸出100 999 之間的水仙花數 如 只存在於百位數字之中,如果這個百位數字的百位的立方加上十位的立方加上各位的立方等於 當前這個百位數字的話,則這個數字為水仙花數。例 153就是乙個水仙花數,1 1 1 5 5 5 3 3 3 153 using system using system....

水仙花數判斷講解

今天要講解的這道題是水仙花數判斷 本題要求實現乙個函式,判斷任一整數是否為水仙花數 必須是三位數,且數的每一位上數字的立方和與數本身相等 例如153 13 53 3 3 1 125 27 153,而1或155則不是水仙花數。如果是水仙花數,則函式返回1,否則返回0.int func const in...

什麼是水仙花數並判斷水仙花數

題目 列印出所有的 水仙花數 所謂 水仙花數 是指乙個三位數,其各位數字立方和等於該數本身。例如 153是乙個 水仙花數 因為153 1 的三次方 5的三次方 3的三次方。public class lianxi03 水仙花數只是自冪數的一種,嚴格來說三位數的3次冪數才成為水仙花數。附 其他位數的自冪...