什么是完全數?完全數指的是所有真因子之和等于該數本身的正整數,例如6就是一個完全數,因為1,2,3都是6的因數,而1+2+3=6。
現在我們來看看如何使用Python計算完全數:
def perfect_number(n): factors = [] for i in range(1, n): if n % i == 0: factors.append(i) if sum(factors) == n: return True else: return False perfect_numbers = [] for i in range(1, 10001): if perfect_number(i): perfect_numbers.append(i) print(perfect_numbers)
在上面的代碼中,我們先定義了一個判斷一個數是否為完全數的函數“perfect_number”,該函數接受一個正整數n作為參數,首先使用for循環得到n的所有真因子,即能整除n的所有正整數,然后判斷這些真因子的和是否等于n,如果是,則返回True,否則返回False。
接著,我們使用一個for循環,從1到10000遍歷所有正整數,判斷每個數是否為完全數,如果是,則將該數添加到一個列表“perfect_numbers”中。
最后,我們打印出“perfect_numbers”列表,即可得到所有小于10001的完全數。
上一篇python 文件數組