一个正整数的因子是所有可以整除亡的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。 现在,你要写一个程序,读入两个正整数n和m (1<=n<m <1000),输出n,m]范围内所有的完数。
时间: 2023-12-11 12:50:46 浏览: 74
编程找出1000之内的所有完数,并按下面格式输出其因子:6 its factors are 1,2,3
5星 · 资源好评率100%
可以先写一个函数,用来判断一个数是否为完数:
```python
def is_perfect_number(num):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
if sum(factors) == num:
return True
else:
return False
```
然后,我们可以在主程序中调用这个函数,找出n到m之间所有的完数:
```python
n = int(input("请输入n:"))
m = int(input("请输入m:"))
for num in range(n, m+1):
if is_perfect_number(num):
print(num)
```
以上程序会读入n和m,然后遍历n到m之间的所有数,对每个数调用is_perfect_number函数,如果这个数是完数,则输出它。
阅读全文