C 列舉水仙花數

2021-10-25 10:19:39 字數 656 閱讀 9464

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

思路很簡單,首先水仙花數的取值範圍是100~999,判斷條件是個十百位各自的3次冪之和等於這個數本身。現在問題就轉換為取三位數的個位、十位、百位。

很自然的想到取模運算:

對於任意乙個數,其個位數就是對10進行取模運算——153%10=3

那麼十位數呢?我們知道在c++中運算是不會改變資料型別的,兩個整型數做運算得到的結果一定是整型,所以只需要將數字除以10再對10取模——(153/10)%10=5

百位就更簡單了,直接除以100就好了——153/100=1

**如下:

#include

using

namespace std;

intmain()

}return0;

}/*************************最後的結果為****************/

153370

371407

C 水仙花數

include include using namespace std void divide int,int int int void main int hun 0,ten 0,one 0 for int i 100 i 999 i divide i,hun,ten,one if i pow hu...

求水仙花 ghpython 水仙花數02

今天咱們繼續來看看老潘微博裡的乙個python小案例,求水仙花數,這個小案例在前兩天已經分享了,今天分享另一種方法,常言道只要思想不滑坡,方法總比困難多,而且今天的方法個人覺得更pythonic一點。水仙花數 四葉玫瑰數 五角星數 由於2位數的自冪數不存在,這裡直接從100遍歷到100000 for...

水仙花數題解c

題目 輸入乙個三位數的正整數,判斷它是否是水仙花數,所謂水仙花數是指這個數等於它每個位置上的數字的立方和 輸入 輸入乙個三位數的正整數,首位不為0 輸出 如果是水仙花數,輸出 yes 否則輸出 no 這道題是學c 語言的中度難度,需要用到for迴圈,但是對於我這樣的高手小菜一碟,哈哈 我很自戀 in...