前言:
眼前同学们对“定义函数python输出n的所有因子”大概比较关注,兄弟们都想要分析一些“定义函数python输出n的所有因子”的相关资讯。那么小编在网络上网罗了一些关于“定义函数python输出n的所有因子””的相关文章,希望咱们能喜欢,兄弟们一起来了解一下吧!要求:一个数如果恰好等于除它本身外的因子之和,这个数就称为"完数"。
例如6=1+2+3(6的因子是1,2,3)
实现代码如下:
#!/usr/bin/python#coding:utf-8#author:菜就多练呀def perfect_numbers(n): #定义一个函数 sum_of_divisors(num),该函数计算一个数的所有因子之和。 def sum_of_divisors(num): s = 1 for i in range(2, int(num ** 0.5) + 1): if num % i == 0: s += i if i != num // i: s += num // i return s #使用列表推导式来创建一个列表,其中包含从2到n之间的所有完数。 #对于列表中的每个数num,如果 sum_of_divisors(num) 等于num,则该数是完数。 return [num for num in range(2, n) if sum_of_divisors(num) == num]perfect_numbers = perfect_numbers(1001)print(perfect_numbers)
输出结果:
[6, 28, 496]
你是否可以输出完数的过程中输出其因子数呢?
例如:6=1+2+3,28=1+2+4+7+14,496=1+2+4+8+16+31+62+124+248
欢迎大家将实现过程发到评论区。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #定义函数python输出n的所有因子 #输出100以内完数及其相应的因子因子存于列表python #python因子之和等于完数 #python因子之和完数