如何解决好的主要因素,但我只需要在列表中给出不同的答案
我正在尝试对任何数字作素数的列表,但我只想与众不同,所以我不希望数字8(2 ,2,2)我只想获得[2] 但我不确定如何
def primes(n):
primfac = []
d = 2
while d*d <= n:
while (n % d) == 0:
primfac.append(d)
n //= d
d += 1
if n > 1:
primfac.append(n)
return primfac
print(primes(18))
解决方法
只要您有多个值,就可以使用它们的集合。如果需要列表,可以将其转换回列表:
list(set([2,2,2]))
整个功能现在看起来像:
def primes(n):
primfac = []
d = 2
while d * d <= n:
if n % d == 0:
n //= d
primfac.append(d)
else:
d += 1
if n > 1:
primfac.append(n)
return list(set(primfac))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。