您現在的位置是:首頁 » python編程資訊
資訊內容
Python基礎練習實例19(找完數)
極客小將2020-11-10-
題目:編程找出1000以內的所有完數(一個數如果恰好等于它的因子之和,這個數就稱為"完數"。例如6=1+2+3)。
題目:編程找出1000以內的所有完數(一個數如果恰好等于它的因子之和,這個數就稱為"完數"。例如6=1+2+3)。
程序分析:找出每一個數的所有因子,然后計算這些因子的和是否等于這個數;也可以用這個數減去它的所有因子,看結果是否等于0,那么這個數就是完數。
程序源代碼:實例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from sys import stdout
for j in range(2, 1001):
k = []
n = -1
s = j
for i in range(1, j):
if j % i == 0:
n += 1
s -= i
k.append(i)
if s == 0:
print j
for i in range(n):
stdout.write(str(k[i]))
stdout.write(' ')
print k[n]
結果:
6
1 2 3
28
1 2 4 7 14
496
1 2 4 8 16 31 62 124 248
本站部分內容轉載自網絡,如有侵權請聯系管理員及時刪除。
