def getnarcissisticnumbers(self,n):
l = #存放滿足要求的水仙花數
if n == 1:
store =
for item in range(10):
for j in range(pow(10,n-1),pow(10,n)): #j表示幾位數,例如n == 4,就是所有的四位數
j_str = str(j) #先將整數j轉換為字串,方便依次取下標
sums = 0
for k in range(len(j_str)):
sums += store[int(j_str[k])] #這裡int(j_str)這裡迴圈依次取出整數j的每乙個數字
if j == sums:
return l
優化點
用列表存放n次冪,第k個就是k的n次方
用字串實現數字分離
reference:
求水仙花 求 3 位數中的水仙花數?
水仙花數嘛!乙個數n,就是3 位數中,每個位上的數,3 次方以後,依舊等於n 解題關鍵 1 對水仙花組成的理解 2 理解,什麼是取模 什麼是取餘 ok,擼碼開始 include stdio.h int main return 0 執行結果如下 組成元素 a 1 b 5 c 3水仙花數有 153 組成...
求n位 水仙花數
n位水仙花數的範圍是 10n 1,10n 核心操作 2 1.如何得到每一位?a.核心思想 對得到的數進行先取餘後取整的迴圈操作。b.具體操作 用一變數g來得到將要判斷的值,用變數h來依次存放每一位,g取餘後把值賦給變數h,然後g再進行除10運算,如此迴圈往復,直到h依次得到每一位為止。2 2.如何將...
求n位水仙花數
求n位水仙花數 n位水仙花數的範圍是 10n 1,10n 核心操作 a.核心思想 對得到的數進行先取餘後取整的迴圈操作。b.具體操作 用一變數g來得到將要判斷的值,用變數h來依次存放每一位,g取餘後把值賦給變數h,然後g再進行除10運算,如此迴圈往復,直到h依次得到每一位為止。a.核心思想 呼叫ma...