Python输出一个数的范围中所有完数
1、打开JetBrains PyCharm软件。

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)

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)

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

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