当前位置:   article > 正文

python输入一组数据、找出其中的素数、并将素数排序_程序在Python中按排序顺序查找给定数字的所有素数...

输入一串用逗号隔开的数字串,取出数字串中所有的素数去重后按升序排序后输出每次

假设我们的n大于1,我们必须找到其所有素数并按排序顺序返回它们。我们可以写出一个数字作为质数的乘积,它们是质数。同样的素数因子可能会出现多次。

因此,如果输入类似于42,则输出将为[2、3、7]。

为了解决这个问题,我们将遵循以下步骤-res:=一个新列表

而n mod 2与0相同,则在res末尾插入2

n:= n / 2的商

对于范围3至(n的平方根)中的i,在步骤2中增加在res末尾插入i

n:= n / i的商

当n mod我等于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]

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号