"完数"指的是一个数恰巧等于它的所有因子之和,比如说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 第四行: 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 ———— 觉得文章不错的,欢迎点在看和转发