完数判断(双层循环)
时间: 2024-11-13 18:11:29 浏览: 31
完数是指一个正整数等于其所有真因子(即除了自身以外的因子)之和。例如,6是一个完数,因为6=1+2+3。在编程中,通常通过双层循环来检查一个数是否是完数。外层循环遍历从1到该数的所有可能因子,内层循环则确认每个因子确实是有效的,并加到总和中。如果最后的总和等于原数,那么这个数就是完数。
以下是使用Python的一个示例代码片段:
```python
def is_perfect_number(num):
if num <= 1:
return False
total = 1
for i in range(2, int(num**0.5) + 1): # 避免重复计算因子
if num % i == 0:
j = num // i
if i != j: # 如果i不等于j(避免重复计数),将两者都加入总和
total += i
total += j
# 检查总和是否等于原数
if total == num:
return True
else:
return False
# 使用示例
print(is_perfect_number(6)) # 输出: True
```
阅读全文