编程)如果一个正整数所有因子(含1但不含正整数本身)之和等于该正整数,则称这个正整数为完全数(如6为完全数,6=1+2+3),从键盘读入正整数n,找出不超过n(n<=10000,10000以内有四个完全数,
时间: 2024-02-04 11:02:24 浏览: 167
输入一个正整数,判断是不是素数(C++)
分别为6、28、496、8128)的所有完全数并输出。
代码如下:
```python
n = int(input("请输入一个正整数n:"))
perfect_numbers = []
for i in range(1, n+1):
factors_sum = 0
for j in range(1, i):
if i % j == 0:
factors_sum += j
if factors_sum == i:
perfect_numbers.append(i)
print("不超过n的所有完全数为:", perfect_numbers)
```
测试:
输入:
```
请输入一个正整数n:10000
```
输出:
```
不超过n的所有完全数为: [6, 28, 496, 8128]
```
阅读全文