以下に、素因数分解のコードを添付しましたが、機能します。出力をより明確にする方法があるかどうか疑問に思っていました。リストに素因数を追加しますが、再帰の最後の最後のリストにはリストのリストが含まれていますが、数字のリストだけが必要です。
def prime_factor(n):
list = []
if prime(n)==1:
list.append(n)
return list
else:
for i in range(2,n):
if n %i ==0:
a =prime_factor(i)
b = prime_factor(n/i)
list.extend(a)
list.extend(b)
return list
def prime(n):
if n ==2 or n==3:
return 1
if n==1:
return 0
for i in range(2,n):
if n%i ==0:
return 0
break
if i ==n-1:
return 1
break