私はPythonで提供されている数値のすべての因数分解を見つけようとしています。例えば数字の可能なすべての置換のリスト
:1)N = 12、 を所与の出力がされる、F(N)= [[2,2,3-]、[4,3]、[6,2]、[ 12] N = 24所与
2)、 出力は、N F()=あろう[2,2,2,3]、[2,2,6-]、[2、 12]、[4,6]、[8,3]、[24]ここ
は私のコードである:
def p(a):
k=1
m=1
n=[]
for i in range (len(a)):
for j in range(0,i+1):
k*=a[j]
for l in range(i+1,len(a)):
m*=a[l]
n+=[[k,m],]
k=1
m=1
return n
def f(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 p(primfac)
の
しかし、私のコードに戻り、次の値:
1)N = 12、出力は、出力され、
[[2, 10], [4, 5], [20, 1]]
2)1)N = 24について、
あります[[2, 12], [4, 6], [8, 3], [24, 1]]
関連する結果を得るにはどうすればよいですか?