1. 程式人生 > 其它 >找出10000以內的完美數

找出10000以內的完美數

技術標籤:Python

題目:
完美數又稱為完全數或完備數,它的所有的真因子(即除了自身以外的因子)的和(即因子函式)恰好等於它本身。例如:6( 6 = 1 + 2 + 3 6=1+2+3 6=1+2+3)和28( 28 = 1 + 2 + 4 + 7 + 14 28=1+2+4+7+14 28=1+2+4+7+14)就是完美數。

在這裡插入圖片描述

解答:

import math
for num in range(1,10000):
    result=0
    for factor in range(1,int(math.sqrt(num))+1):
        if num%factor==0:
            result+=
factor if factor>1 and num//factor!=factor: result+=num//factor if result==num: print(num)