程序在Python中按排序顺序查找给定数字的所有素数
假设我们的n大于1,我们必须找到其所有素数并按排序顺序返回它们。我们可以写出一个数字作为质数的乘积,它们是质数。同样的素数因子可能会出现多次。
因此,如果输入类似于42,则输出将为[2、3、7]。
为了解决这个问题,我们将遵循以下步骤-
res:=一个新列表
而nmod2与0相同,则
在res末尾插入2
n:=n/2的商
对于范围3至(n的平方根)中的i,在步骤2中增加
在res末尾插入i
n:=n/i的商
当nmod我等于0时,
如果n>2,则
在res的末尾插入n
返回资源
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, n):
res=[]
while n%2==0:
res.append(2)
n//=2
for i in range(3,int(n**.5)+1,2):
while n%i==0:
res.append(i)
n//=i
if n>2:
res.append(n)
return res
ob = Solution()print(ob.solve(42))输入值
42
输出结果
[2, 3, 7]
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短