用循环语句求1到10000内的所有完美数
时间: 2024-11-22 16:37:49 浏览: 5
编译原理循环语句语法语义分析
4星 · 用户满意度95%
完美数是指它的所有真因数(除了自身以外的因子)加起来恰好等于它本身的整数。为了找出1到10000之间的完美数,我们可以编写一个循环程序,对于每个数,检查其所有小于它一半的因数之和是否等于该数本身。以下是使用Python语言的一个简单示例:
```python
def is_perfect_number(n):
sum_of_divisors = 1
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
# 如果i是因数,那么n/i也是,但我们只需要计算一次
if i != n // i:
sum_of_divisors += i
sum_of_divisors += n // i
return sum_of_divisors == n
perfect_numbers = []
for num in range(1, 10001):
if is_perfect_number(num):
perfect_numbers.append(num)
print("1到10000之间的完美数有:", perfect_numbers)
阅读全文