Python中判断一个正整数是否为完全数
时间: 2024-05-08 16:16:51 浏览: 105
一个正整数是完全数,当且仅当它所有的因子(除了它本身)的和等于它本身。
以下是一个Python程序,用于判断一个正整数是否为完全数:
```python
def is_perfect_number(n):
factors = []
for i in range(1, n):
if n % i == 0:
factors.append(i)
return sum(factors) == n
n = int(input("请输入一个正整数:"))
if is_perfect_number(n):
print(n, "是完全数")
else:
print(n, "不是完全数")
```
在程序中,首先定义了一个函数is_perfect_number,该函数接受一个正整数n作为参数,返回一个布尔值,表示n是否为完全数。在函数中,使用for循环遍历1到n-1之间的所有数,如果n可以整除i,说明i是n的因子,将i添加到factors列表中。最后,判断factors中所有元素的和是否等于n,如果是,返回True,否则返回False。
在主程序中,首先从用户输入中获取一个正整数n,然后调用is_perfect_number函数判断n是否为完全数,并输出相应的结果。
相关问题
python 输入一个正整数,判断其是否为完全数
完全数是指一个正整数,它的所有因子(不包括它本身)之和等于它本身。例如,6是完全数,因为6的因子为1、2、3,而1+2+3=6。
以下是判断一个正整数是否为完全数的Python代码:
```python
num = int(input("请输入一个正整数:"))
sum = 0
for i in range(1, num):
if num % i == 0:
sum += i
if sum == num:
print(num, "是完全数")
else:
print(num, "不是完全数")
```
首先,我们输入一个正整数 num。然后,我们使用 for 循环遍历 num 的所有因子(不包括它本身),判断每个因子是否可以整除 num。如果可以整除,我们就累加这个因子的值到 sum 变量中。
最后,我们判断 sum 是否等于 num。如果等于,说明 num 是完全数;否则,说明 num 不是完全数。
python代码判断一个整数是否为完全数
完全数是指一个正整数等于它的所有因子(除了自己以外)的和,如6=1+2+3,是完全数。以下是 Python 代码实现。
```python
def isPerfectNumber(num):
factors = [1]
for i in range(2, num//2 + 1):
if num % i == 0:
factors.append(i)
return sum(factors) == num
num = int(input("请输入要判断的整数:"))
if isPerfectNumber(num):
print(num, "是完全数")
else:
print(num, "不是完全数")
```
希望能够帮到您!
阅读全文