(程序设计) 如果一个数恰好等于它的因子之和,这个数就称为“完数”。例如28=1+2+4+7+14则28就是一个完数。编写程序,输出1000以内的所有完数个数
时间: 2024-11-13 22:40:23 浏览: 4
C#程序设计实验5-综合练习-求完数
为了找到1000以内所有的完数,我们可以编写一个简单的循环程序,遍历从1到1000的所有正整数,然后计算每个数的因子之和,如果因子之和等于该数,则认为它是完数。以下是用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
# 检查sum_of_factors是否等于n
return sum_of_factors == n
count = 0
for num in range(1, 1001):
if is_perfect_number(num):
count += 1
print(f"{num}是一个完数")
print(f"1000以内有 {count} 个完数。")
```
运行此程序后,你会得到1000以内完数的数量。
阅读全文