小编yul*_*ana的帖子

我的程序在python中完成数字并且不确定我是否应该在范围内使用(1,1000)或(2,n + 1)

我在python上做了完美数字的实验室它运行良好并打印了我需要的数字.但不确定我是否需要将(1,1000)放入范围或(2,n + 1)是否正常?我的指示要求我

"编写一个python程序,找到从1到10,000的所有完美数字.当找到一个完美的数字时,你的逻辑应该打印它."

什么是完全数:

在数论中,一个正数是一个正整数,等于其正确的除数之和,即除数自身的正除数之和(也称为等分和).等价地,完美数字是所有正除数(包括其自身)的总和的一半,即σ1(n)= 2n.

当我运行我的程序时,它打印出6,28,496和8128.

 n = 1
 while True:
     factors = [1]
     [factors.append(i) for i in range(2,n+1) if n%i == 0]
     if sum(factors) == 2*n: print n
     n += 1
Run Code Online (Sandbox Code Playgroud)

python perfect-numbers

5
推荐指数
2
解决办法
7157
查看次数

标签 统计

perfect-numbers ×1

python ×1