完美数及寻找完美数的算法(Perfect number‘s algorithm)

完美数及寻找完美数的算法(Perfect number’s algorithm)

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
这是古希腊数学家毕达哥拉斯在公元前6世纪最早研究的,他发现了6,28是完美数,过了5个世纪,毕达哥拉斯学派的成员发现了后两个完美数分别藏在百位和千位。那么,这困扰古代科学家几百年的问题我们怎么利用计算机强大的算力来将他们找出来呢?

这里我们以找出10000之内的完美数来举例(python演示):

#沃若
print("欢迎来到完美数的寻找")
for x in range(2,10001):#举例2到10000内所有的数
    sum=0#初始化计数sum,用于计算所有真因子的和
    for i in range(1,int((x/2)+1)):#我们找因数,可只找到1到x/2+1,节约算力
        if x%i == 0:
            sum+=i
    if sum == x:
        print(x)

在这里插入图片描述这里是运行程序的结果和显示,在服务器上完成大概花了2s。

欢迎指正代码的不足,望君雅正。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值