python完数

导读 在编程中,"完数"(Perfect Number)是一个数学概念。一个完数是一个正整数,它等于其正的适当因子之和,不包括它自己。例如,数字 6 是...

在编程中,"完数"(Perfect Number)是一个数学概念。一个完数是一个正整数,它等于其正的适当因子之和,不包括它自己。例如,数字 6 是一个完数,因为它的因子是 1、2 和 3,而 1 + 2 + 3 = 6。这里有一个简单的 Python 程序来检查一个数字是否是完数:

```python

def is_perfect_number(n):

if n <= 1: # 负数和正数不是完数

return False

else:

factors = [] # 存储因子的列表

for i in range(1, n): # 检查所有小于 n 的数字是否是因子

if n % i == 0: # 如果数字可以被整除,那么它是一个因子

factors.append(i) # 将因子添加到列表中

return sum(factors) == n # 如果因子之和等于 n,那么它是一个完数

# 测试这个函数

num = int(input("请输入一个正整数: "))

if is_perfect_number(num):

print(num, "是完数")

else:

print(num, "不是完数")

```

运行这段代码后,您可以输入任何正整数并检查它是否是完数。这个函数通过查找所有的因子并将它们加在一起来工作,然后比较这个和是否等于原始数字。如果它们相等,那么这个数字就是完数。注意这个程序不包含特定的优化技术,因此在非常大的数字上运行可能会比较慢。

版权声明:本文由用户上传,如有侵权请联系删除!