很好的主要因素,但我只需要列表中的不同答案
fine prime factors but i have to only distinct answers in the list
我正在尝试为任何数字制作一个 list 素因数,但我只想要 distinct 个数字,所以我不需要是数字 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))
我正在尝试为任何数字制作一个 list 素因数,但我只想要 distinct 个数字,所以我不需要是数字 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))