Lintcode147 水仙花數 python

2021-09-17 23:53:17 字數 860 閱讀 7739

def getnarcissisticnumbers

(n):

l =if n ==1:

l.(0

) #如果n等於1,那麼上面for

迴圈range(1

,10),沒有包括0,所以要額外新增0

for i in

range

(pow(10

,n-1),

pow(

10,n)

): #根據n的數目來確定i迴圈的範圍。

if i == self.

mut_exp_sum

(n,*

map(int,

list

(str

(i))))

: l.

(i)return l

#求多個數的n次冪之和

def mut_exp_sum

(n,*num)

: #這裡選可變引數,計算每一位的n次冪

sumgg =

0for c in num:

sumgg +=

pow(c,n) 將每乙個數都計算n次冪,然後相加

return sumgg

解釋一下上面的if語句:

先用 list 把整數轉換成單個的字元存入列表;

然後用 map + int 函式,把字元轉換成單個的整數;

最後將其作為可變引數傳入n次冪求和函式中,

if i == 1234,要呼叫函式算 14+ 24 + 34 + 44

if i == 1235,又要呼叫一遍函式算 14+ 24 + 34 + 54

這樣重複時間複雜度**。

LintCode 147水仙花數

水仙花數的定義是,這個數等於他每一位上數的冪次之和 見維基百科的定義 比如乙個3位的十進位制整數153就是乙個水仙花數。因為 153 13 53 33。而乙個4位的十進位制數1634也是乙個水仙花數,因為 1634 14 64 34 44。給出n,找到所有的n位十進位制水仙花數。你可以認為n小於8。...

LintCode147 水仙花數java

中文english 水仙花數的定義是,這個數等於他每一位上數的冪次之和 見維基百科的定義 比如乙個3位的十進位制整數153就是乙個水仙花數。因為 153 13 53 33。而乙個4位的十進位制數1634也是乙個水仙花數,因為 1634 14 64 34 44。給出n,找到所有的n位十進位制水仙花數。...

求水仙花 ghpython 水仙花數02

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