PTA python 判断完数
时间: 2025-01-07 08:13:20 浏览: 2
### PTA平台 Python 实现判断完数
在Python中,可以通过编写函数来判断一个给定的正整数是否为完数。完数是指一个数等于其所有真因子(即除了自身以外的所有因子)之和。
对于这个问题,在PTA平台上实现时可以按照如下方式构建逻辑:
定义一个名为`is_perfect_number(num)` 的函数用于检测输入参数 `num` 是否满足条件。此函数内部会遍历从1到`num//2+1`之间的每一个可能成为因数的数值,并累积那些确实能被`num` 整除的因素总合。如果最终累加的结果正好等于原始输入值,则证明这是一个完美的数字[^1]。
下面是一个具体的代码实例展示如何完成这一功能:
```python
def is_perfect_number(n):
if n <= 0:
return False
sum_of_divisors = 0
for i in range(1, n):
if n % i == 0:
sum_of_divisors += i
return sum_of_divisors == n
# 测试部分
test_numbers = [6, 28, 496, 8128, 33550336]
for number in test_numbers:
result = "是" if is_perfect_number(number) else "不是"
print(f"{number} {result} 完美数")
```
这段程序首先导入必要的库并定义了一个辅助性的检查函数。接着创建了一系列已知完美数的例子来进行验证测试。最后打印出每个测试案例对应的结论说明它是不是完美数。
阅读全文