如果一个数恰好等于它的真因子之和(不包含它自身),这个数就称为“完数”。例如28=1+2+4+7+14则28就是一个完数。 (1)定义一个函数isPerfect(n),判断一个数n是否是完数; (2)编写程序,调用函数输出10000以内的所有完数的个数和完数本身,自己设计输出格式。
时间: 2023-11-27 15:50:23 浏览: 78
判断一个是否是完数。
(1)代码实现:
```python
def isPerfect(n):
factors = []
for i in range(1, n):
if n % i == 0:
factors.append(i)
if sum(factors) == n:
return True
else:
return False
```
(2)代码实现:
```python
count = 0
perfect_numbers = []
for i in range(1, 10001):
if isPerfect(i):
count += 1
perfect_numbers.append(i)
print("10000以内的完数个数为:", count)
print("10000以内的完数为:", end="")
for i in perfect_numbers:
print(i, end=" ")
```
输出结果如下:
```
10000以内的完数个数为: 4
10000以内的完数为:6 28 496 8128
```
阅读全文