Python100以内完美数
时间: 2024-08-03 10:00:35 浏览: 47
完美数是指它的所有真因数(除了自身以外的因子)之和等于它自身的数。在Python中,我们可以编写一个小程序来找出小于100的所有完美数。这里是一个简单的示例:
```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的因子,则检查n/i是否也是因子,如果是则累加两次这个因子
if n // i != i:
sum_of_divisors += i
sum_of_divisors += n // i
else:
sum_of_divisors += i
# 如果所有因子的和等于n,那么n就是完美数
return sum_of_divisors == n
perfect_numbers = [num for num in range(1, 101) if is_perfect_number(num)]
print("小于100的完美数有:")
for number in perfect_numbers:
print(number)
相关问题
用Python输出500以内的完美数
很高兴回答您的问题。以下是Python代码输出500以内的完美数:
```python
for num in range(1, 501):
sum = 0
for i in range(1, num):
if num % i == 0:
sum += i
if sum == num:
print(num)
```
在这段代码中,我们使用了两个嵌套的for循环来找到每个数字的因子并计算它们的总和。如果总和等于数字本身,则它是完美数字并被输出。希望这可以帮助您!
python找出10000以内的完美数
完美数是指一个数恰好等于它的因子之和,例如6就是一个完美数,因为6=1+2+3。Python可以通过以下代码找出10000以内的完美数:
```python
for i in range(1, 10001):
sum = 0
for j in range(1, i):
if i % j == 0:
sum += j
if sum == i:
print(i)
```
运行以上代码,输出结果为:
```
6
28
496
8128
```
因此,10000以内的完美数有4个,分别是6、28、496和8128。
阅读全文