#程序员兵兵#「每日一练」巧用python找出1000以内的所有完数
北京联盟_本文原题:「每日一练」巧用python找出1000以内的所有完数
"完数"指的是一个数恰巧等于它的所有因子之和 , 比如说6 , 它的因子分别是1 , 2 , 3 , 而6正好等于1+2+3 , 所以6就是完数!
下边我们就一起来看看python如何一下找出1000之内的所有"完数" , 瞬间就完成哦!
题目
一个数如果恰好等于它的因子之和 , 这个数就称为"完数" 。 例如6=1+2+3.编程找出1000以内的所有完数 。
代码
先上代码~
本文插图
运行效果
本文插图
题目详述
第一行:
for j in range(2, 1001):
创建一个从2到1000的循环 , 并且将其中的值依次赋值给j
第二行:
s = j
创建一个新的变量s , 让它等于j , 方便后边的计算 , 可能有的小伙伴会说 , 不是已经有了一个变量j , 这不是多此一举吗 , 主要是j在后边的循环中还要一直用到 , 而s则作为一个变量往下进行传递
第三行:
for i in range(1, j):
创建一个从1到j-1的循环 , 并且依次赋值给i
第四行:
【#程序员兵兵#「每日一练」巧用python找出1000以内的所有完数】if j % i == 0:
如果j能够整除i , 则说明i就是j的一个因子
第五行:
s -= i
用s减去j的因子i , 等到i完成所有的遍历 , 相当于s减去了j的所有因子
第六行:
if s == 0:
print(j)
如果s等于0 , 说明s减去j的所有因子值为0 , 也就是j等于它的所有因子之和 , j就是完数 , 输出j , 遍历完成 , 就输出了所有满足条件的完数
进阶:
- 利用这个原理我们可以轻松的去判断某个数 , 并根据我们的条件取数
- 是不是很便捷呢
总体来说思路只要有了 , 以后遇到类似的问题就可以解决了 , 是不是发现原来Python也没有想象中的那么难!
———— e n d ————
本文插图
觉得文章不错的 , 欢迎点在看和转发
推荐阅读
- 大众医学教育|【每日问答】甲状腺疾病科普知识自问自答
- 每日健康记|4个饮食坏习惯,容易招来糖尿病,希望及时改正
- 每日意图|摄影 | 生命是一场经过,我们用行走感知世界。
- 每日谈资|B站已向有关部门报备卖惨UP主 编造悲惨故事博同情谋财已成互联网毒瘤
- 易经风水知识|独家【每日宜忌】2020年6月3日
- 每日运势风水|哪些月份出生的人,眼光独到,站得高看得远,收获意外惊喜
- 每日运势风水|哪些日子出生的人,今年事业一马当先,年底收获颇丰,惹人羡慕
- 太平洋电脑网|每日低至6.2元即可入手 OPPO Find X2系列限时优惠来袭
- 指数|每日运势|6月2日星期二 冲煞鼠日冲(庚午)马
- 鸡蛋花每日一膳|两朵花煮一壶茶,清热利湿就这么简单
