如何使用 Python 识别并打印某个闭区间 [ 2, n ] 内的所有完美数字?

pythonprogramming

完美数字是等于其真因数之和的正整数。最小完美数字是 6,它是 1、2 和 3 之和。

您可以通过在给定范围内测试每个数字是否符合给定条件来找到给定范围内的完美数字。

示例

def print_perfect_nums(start, end):
   for i in range(start, end + 1):
   sum1 = 0
   for x in range(1, i):
      # Check if a divisor, if it is, add to sum
      if(i % x == 0):
         sum1 = sum1 + x
         if (sum1 == i):
            print(i)
print_perfect_nums(1, 300)

输出

这将给出输出

6
28

相关文章