Python函数判断一个数是否是完数
时间: 2024-03-27 12:37:20 浏览: 49
完数是指一个数恰好等于它的因子(不包括本身)之和,例如6就是一个完数,因为6=1+2+3。
以下是一个判断一个数是否是完数的Python函数:
```python
def isPerfectNumber(num):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
if sum(factors) == num:
return True
else:
return False
```
该函数接受一个整数作为参数,返回一个布尔值,表示这个数是否是完数。该函数的实现方式是先找到这个数的所有因子,然后将这些因子相加,最后判断它们的和是否等于这个数本身。
相关问题
Python编写函数判断一个数是否为完数
完数是指一个正整数等于它的所有因子(不包括本身)之和,例如6是完数,因为6=1+2+3。下面是一个Python函数,可以判断一个数是否为完数:
```python
def is_perfect_number(n):
factors = []
for i in range(1, n):
if n % i == 0:
factors.append(i)
if sum(factors) == n:
return True
else:
return False
```
该函数接收一个正整数n作为参数,首先找出n的所有因子(不包括本身),存储在列表factors中。然后判断所有因子之和是否等于n,如果是,则返回True,否则返回False。
Python判断一个数是否是完数
可以使用以下代码来判断一个数是否是完数:
```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` 就是一个完数。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)