新聞中心
水仙花數(shù)是指一個(gè) n 位數(shù),它的每個(gè)位上的數(shù)字的 n 次冪之和等于它本身,153 是一個(gè)水仙花數(shù),因?yàn)?1^3 + 5^3 + 3^3 = 153。

下面是一個(gè) Python 代碼示例,用于找出所有的水仙花數(shù):
def is_narcissistic_number(num):
n = len(str(num))
return num == sum(int(digit) ** n for digit in str(num))
def find_narcissistic_numbers(start, end):
return [num for num in range(start, end+1) if is_narcissistic_number(num)]
示例:找出 100 到 999 之間的水仙花數(shù)
narcissistic_numbers = find_narcissistic_numbers(100, 999)
print(narcissistic_numbers)
在這個(gè)示例中,我們定義了兩個(gè)函數(shù):
1、is_narcissistic_number(num):判斷一個(gè)數(shù)是否為水仙花數(shù),首先計(jì)算這個(gè)數(shù)的位數(shù)(n),然后計(jì)算每個(gè)位上的數(shù)字的 n 次冪之和,最后判斷這個(gè)和是否等于原數(shù)。
2、find_narcissistic_numbers(start, end):在給定的范圍內(nèi)查找所有的水仙花數(shù),使用列表推導(dǎo)式,遍歷范圍內(nèi)的所有數(shù),調(diào)用 is_narcissistic_number() 函數(shù)判斷是否為水仙花數(shù),如果是則將其添加到結(jié)果列表中。
我們調(diào)用 find_narcissistic_numbers() 函數(shù),傳入范圍 100 到 999,得到這個(gè)范圍內(nèi)的所有水仙花數(shù),并打印出來(lái)。
網(wǎng)頁(yè)名稱(chēng):python如何求水仙花數(shù)
鏈接分享:http://www.dlmjj.cn/article/dphiido.html


咨詢(xún)
建站咨詢(xún)
