用python编写下列程序,选4个做即可,能做一个也好,非常感谢!!!_百度...

发布网友

我来回答

1个回答

热心网友

4.N以内的完全数
import time
def perfect2(N):
"""完全数都是以6或8结尾,如果以8结尾,那么就肯定是以28结尾."""
#N=10000,0.016secs,N=100000,0.313secs; N=1000000,9.922secs;N=1000万,324.656secs
start = time.time()
perfectNumber=[]
for i in range(6, N, 10):
sum1 = 1
for j in range(2, int(i**0.5)+1):
if i%j == 0:
sum1 += j
sum1 = sum1 + i//j
if sum1 == i:
perfectNumber.append(i)
for i in range(28, N, 100):
sum1 = 1
for j in range(2, int(i**0.5)+1):
if i%j == 0:
sum1 += j
sum1 = sum1 + i//j
if sum1 == i:
perfectNumber.append(i)
print("run time:", str(time.time()-start), "seconds.")
return perfectNumber

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com