我正在想出一個有效的方法來列出大因數的所有因數。比方說1000!用暴力是完全不可能的。有沒有一種有效的方法? 我需要處理它們,即找到編程挑戰的總和。查找大因子數的因數和?
3
A
回答
2
- 找到每個數字的素因式分解< = 1000。我將它存儲爲素數 - >冪的字典。例如。對於像24
{2: 3, 3: 1}
這樣的單個數字,因爲24是2**3 * 3**1
。 - 找到
1000!
的素因子分解。這是數字字典< = 1000的組合,通過總結每個鍵(素數)的所有值。 - 然後您可以使用equation 14 on this page作爲@AakashM已經說過。
+0
如果在這種情況下N是1000,那麼這個方法會變得和10E8一樣大? – 2015-03-31 16:33:30
+0
我認爲這種方法完全一樣,只需要更長的時間!你嘗試過嗎?你發現了什麼問題? – Hbcdev 2015-04-01 12:13:21
相關問題
- 1. 查找數字的因子
- 2. 查找負數因子的函數
- 3. 查找因子
- 4. 查找數字因子和因式分解多項式(Lua)
- 5. 找到最大的素數因子?
- 6. 查找因子總和
- 7. 查找整數的因數
- 8. 查找假數的所有因子
- 9. 查找數字的所有因子
- 10. 找到最大的因子和最大的指數
- 11. 使用while循環查找因子數
- 12. 尋找素數因子C++
- 13. 查找數字的最大因子(本身除外)
- 14. 查找的有效方法數的偶數因子的總數
- 15. 如何優化因子的查找因子
- 16. 因子分數之和
- 17. 作爲一個整數n中的因子存在的最大因子數
- 18. C++因子程序:輸出因子數
- 19. 最大和因子聚合
- 20. 使用LINQ查找給定一系列質數因子的數字的因子數
- 21. n大數的因子問題
- 22. 來自因子分析的大數字
- 23. 最大的素數因子 - C++
- 24. 尋找最小素因子的函數
- 25. 找出一個數字的因子
- 26. Haskell - 尋找一個整數的因子
- 27. 因子列和列因素
- 28. 優化幫助找到最大因數
- 29. javaScript - 查找給定整數的所有因數的總和
- 30. C++ int數組指針遞歸地查找素數因子
如果你只是想要素因子分解,那很容易。如果你想要素因素的所有獨特組合(這就是「所有因數」所暗示的),那麼我認爲*其中約有10 ** 106個。你打算跟他們做什麼? – AakashM 2012-08-01 10:49:29
AakashM是對的,[this](http://www.wolframalpha.com/input/?i=sigma_0%281000!%29)是1000的除數!所以明顯地列出它們是不可能的。 – interjay 2012-08-01 11:04:19
我需要處理它們,即找到編程挑戰的總和。 – elasolova 2012-08-01 11:38:10