【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

posted @ 2019-10-03 11:43  sszqxt  阅读(616)  评论(0编辑  收藏  举报