【Python】【demo实验20】【练习实例】【寻找“完数”】

原题:

一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。

我的代码:

#!/usr/bin/python
# encoding=utf-8
# -*- coding: UTF-8 -*-

#  一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。

x = int(input("please input the number:\n"))  #用于标记,寻找多少范围内的完数;

for i in range(2,x+1):   #数字1-x
    s = 0 #因子求和
    k = int(i*0.5)+1
    for j in range(1,k):
        if (i%j==0) and (j != i) :
            s = s + j
            #print("==>",i,j,s)
    if i == s :
        print("################",i)

结果:

原题解法:

使用了from sys import stdout


————————(我是分割线)————————

参考:

1. RUNOOB.COM:https://www.runoob.com/python/python-exercise-example19.html

备注:

初次编辑时间:2019年10月3日11:42:59

环境:Windows 7   / Python 3.7.2

猜你喜欢

转载自www.cnblogs.com/kaixin2018/p/11619451.html