Python 判断一个正整数是否为完数。完数定义:一个数的所有因子(包括1)之和等于它自身,这个数就是完数。比如6=1+2+3,6是完数。 输入格式: 例如:输入一个正整数 6 输出格式: 输出: 6=1+2+3
时间: 2024-11-23 16:40:22 浏览: 2
整除幸运数(Java&Python&C++)
在Python中,我们可以编写一个函数来判断一个正整数是否为完数。下面是一个简单的实现步骤:
```python
def is_perfect_number(num):
if num <= 0:
return False
# 计算所有因子的和
factor_sum = sum(i for i in range(1, int(num ** 0.5) + 1) if num % i == 0)
# 如果因子和等于原数,则是完数,反之则不是
return factor_sum == num
# 输入测试
num_to_check = int(input("请输入一个正整数:"))
if is_perfect_number(num_to_check):
print(f"{num_to_check}={', '.join(map(str, [i for i in range(1, num_to_check + 1) if num_to_check % i == 0]))}")
else:
print(f"{num_to_check}不是完数")
```
当你运行这个程序并输入一个正整数,它会返回该数是否为完数,并如果它是完数,还会显示其所有因子的和。
阅读全文