从键盘输入一个正整数,判断是不是完数
时间: 2024-10-13 20:03:08 浏览: 39
Perfect-Numbers:确定一个正整数是否是一个完美数
5星 · 资源好评率100%
一个完数,也称为完美数,是指它的所有真因数(除了自身以外的因子)之和等于该数本身的自然数。例如6是一个完数,因为1+2+3=6。
要编写一个程序来判断输入的正整数是否为完数,你可以按照以下步骤操作:
1. 首先,获取用户输入的正整数n。
2. 初始化一个变量sum为0,用于存储n的所有真因数之和。
3. 使用循环遍历1到n-1,对于每个数i,检查它是否是n的因数(即n % i == 0),如果是,则将i加到sum上,并跳过n/i(因为已经包含了n/i)。
4. 循环结束后,如果sum等于n,那么n就是完数;否则,n不是完数。
5. 输出判断结果。
以下是Python的一个简单示例:
```python
def is_perfect_number(n):
if n < 1:
return False
sum_of_factors = 1
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
sum_of_factors += i
if i != n // i:
sum_of_factors += n // i
return sum_of_factors == n
# 获取用户输入
input_num = int(input("请输入一个正整数: "))
if is_perfect_number(input_num):
print(f"{input_num} 是一个完数")
else:
print(f"{input_num} 不是一个完数")
阅读全文