一个数如果恰好等于它的因子之和(包括1,但是不包括这个数本身),这个数称为“完数 ”例如:28的因子是1,2,4,7,14,28=1+2+4+7+14.编写算法找出10000之内所有的完数,并输出格式如下:28 的因子是1,2,4,7,14
时间: 2024-05-12 13:13:17 浏览: 42
完数的计算
以下是求10000以内所有完数的代码实现:
```python
for num in range(1, 10001):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
if sum(factors) == num:
print(f"{num} 的因子是{','.join(map(str, factors))}")
```
输出结果为:
```
6 的因子是1,2,3
28 的因子是1,2,4,7,14
496 的因子是1,2,4,8,16,31,62,124,248
8128 的因子是1,2,4,8,16,32,64,127,254,508,1016,2032,4064
```
注:此算法的时间复杂度较高,不适用于大规模数据的处理。
阅读全文