0
我正在求解的問題的一部分需要查找多個因子的因子。我嘗試過的僞代碼就是這樣。如何優化因子的查找因子
x = 2
ans = 1
while(x < n): # n is given number
if(isPrime(x)):
count = 0
temp = x
while(temp < n):
count += n/temp
temp *= x
ans *= (count+1)
x += 1
但根據約束條件,n的值可能高達10^8。我怎樣才能優化它?
我對你的僞代碼感到困惑。如果階乘展開式中的術語不是素數,那麼你什麼都不做,並且如果它是素數,那麼你計算出和(n/x,n/x^2,n/x^3 ...)),並且將答案乘以還有一個。我根本看不出與素數分解有什麼關係,或者我所知道的任何一種因式分解。你能澄清你在做什麼嗎? – warren