Python输出一个数的范围中所有完数

2025-11-20 13:31:31

1、打开JetBrains PyCharm软件。

Python输出一个数的范围中所有完数

2、在代码编辑区域敲入以下代码:

number = int(input())

for i in range(2,number+1):
   sum=1
   for j in range(2,i//2):
       if i%j==0 and j<=(i//j):
           sum=sum+j
           sum=sum+(i//j)
   if sum==i:
       print(i)

Python输出一个数的范围中所有完数

3、 本代码的注释如下:

# 输入一个正整数

number = int(input())
# 遍历2到正整数范围中所有的整数
for i in range(2,number+1):
   # 创建一个变量赋值为1
   sum=1
   # 遍历2到i的一半范围中所有的整数
   for j in range(2,i//2):
       # 判断当前i的值是否能够被j整数
       # 且j的值小于等于i除j的商
       if i%j==0 and j<=(i//j):
           # 进入if,说明当前j的值与i除j的商是i的因子
           # 累加值到sum中
           sum=sum+j
           sum=sum+(i//j)
   # 判断sum的值是否等于i
   # 若等于,则说明当前i是完数
   if sum==i:
       # 输出
       print(i)

Python输出一个数的范围中所有完数

4、最后点击运行,开始测试程序,这里输入一个数100,可以看到输出结果为6和28,说明程序正确。

Python输出一个数的范围中所有完数

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢