2017-03-29 5 views
0

私は自分自身のためにPythonでプログラミングを始めました。私は30のような要因を見つける方法を知っています。私は[1,2,3,5,6,10,15,30]を得るでしょう。 しかし、私はこの出力が必要です30 = 2 * 3 * 5.事前にありがとう!Pythonで数値の素因数を見つける方法は?

+0

はStackOverflowのへようこそ!新しい質問を投稿する前に、既存の質問と回答を確認してください。 – hagello

答えて

0

あなたはすべての素数、ユニークな要因を見つけるためにしようとしているので、私は次の関数を使用したい:

def factor(numberToFactor, arr=list()): 
    i = 2 
    maximum = numberToFactor/2 + 1 
    while i < maximum: 
     if numberToFactor % i == 0: 
      return factor(numberToFactor/i,arr + [i]) 
     i += 1 
    return list(set(arr + [numberToFactor])) 

print(factor(59511555)) # [3, 5, 1747, 757] 
関連する問題