Python判断一个数是否是完数
时间: 2023-11-30 13:04:22 浏览: 129
可以使用以下代码来判断一个数是否是完数:
```python
def is_perfect_number(num):
divisors = []
for i in range(1, num):
if num % i == 0:
divisors.append(i)
return sum(divisors) == num
# 测试
print(is_perfect_number(6)) # True
print(is_perfect_number(28)) # True
print(is_perfect_number(496)) # True
print(is_perfect_number(8128)) # True
print(is_perfect_number(10)) # False
```
在这个函数中,我们首先定义了一个空列表 `divisors`,然后使用 `for` 循环遍历从 1 到 `num-1` 的所有数,如果该数是 `num` 的因子,就将其加入到 `divisors` 列表中。最后,我们检查 `divisors` 中所有元素的和是否等于 `num`,如果是,那么 `num` 就是一个完数。
相关问题
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
```
调用该函数,可以判断给定的数是否为完数,例如:
```
print(is_perfect_number(6)) # 输出 True
print(is_perfect_number(28)) # 输出 True
print(is_perfect_number(27)) # 输出 False
```
希望这个回答能够帮到你。如果有其他问题欢迎继续提问。
用python判断一个数是否为完数
可以使用以下代码判断一个数是否为完数:
```
n = int(input("请输入一个正整数:"))
sum = 0
for i in range(1,n):
if n % i == 0:
sum += i
if sum == n:
print(n,"是一个完数")
else:
print(n,"不是一个完数")
```
完数是指一个数的所有因子(不包括它本身)之和等于该数本身的数。
阅读全文