完全數--Python
阿新 • • 發佈:2018-08-20
去掉 per pytho num n) 完美數 fec perfect 例如
如果一個數恰好等於它的因子之和,則稱該數為“完全數” [1] 。各個小於它的約數(真約數,列出某數的約數,去掉該數本身,剩下的就是它的真約數)的和等於它本身的自然數叫做完全數(Perfect number),又稱完美數或完備數。
例如:第一個完全數是6,它有約數1、2、3、6,除去它本身6外,其余3個數相加,1+2+3=6。第二個完全數是28,它有約數1、2、4、7、14、28,除去它本身28外,其余5個數相加,1+2+4+7+14=28。第三個完全數是496,有約數1、2、4、8、16、31、62、124、248、496,除去其本身496外,其余9個數相加,1+2+4+8+16+31+62+124+248=496。後面的完全數還有8128、33550336等等。
def isPerfectNum(n): a = 1 b = n sum = 0 while a < b: if n % a ==0: sum += (a + b) a += 1 b = n / a if (a == b) and (n % a == 0): sum += a return (sum - n) == n
這個函數接受一個整數,如果這個數是完全數就返回真,如果不是完全數就返回假
完全數--Python