2017-08-12 52 views
-12

一個正整數n被認爲是完美的,如果除n本身之外的n的因子之和加起來爲n。例如6是完美的,因爲6的因子是{1,2,3,6}和1 + 2 + 3 = 6。同樣,28是完美的,因爲28的因素是{1,2,4,7,14,28}和1 + 2 + 4 + 7 + 14 = 28。通過回答python語言

編寫一個Python函數perfect(n),它接受一個正整數參數,如果整數是完美的,則返回True,否則返回False。

下面是一些示例,顯示您的函數應如何工作。

完美(6) 真 完美(12) 假 完美(28) 真

+0

這似乎是家庭作業。雖然提出作業題目是O.K.,但請至少表明您已經付出了一些努力,先解決問題,然後再期待其他人爲您解決問題。 –

回答

-1
def perfect(x): 
    factor_sum = 0 
    for i in range(1, x-1): 
     if x % i == 0: 
      factor_sum = factor_sum + i 
      if(factor_sum == x): 
       return True 
    return False 

print perfect(6) #Prints True 
print perfect(12) #Prints False 
print perfect(28) #Prints True