我需要將任意數字x的冪從2減小到0. 如果x = 6,所需總和爲2pow6 + 2pow5 + ..... 1。 雖然我總是可以使用Math.pow編寫一個算法以減少到0--這個函數在循環中似乎臭名昭着的性能。 希望如果有人能夠幫助實現相同的使用移位二元運算符 - 我聽說他們比pow更高效。java中的數學公式替代
回答
2^N + 2 ^(N-1)+ 2 ^(N-2)+ ... + 2 + 1 =(2 ^(N + 1) - 1)= ((1 << (n+1)) - 1)
愚蠢的me.Sometimes技術讓我們忘記數學也可能有解決方案! – IUnknown
有史以來最聰明最漂亮的答案 – Khanser
哇!乾淨有用! +1! – mustache1up
您不必計算它在一個循環,你正在試圖計算相當於
Math.pow(2, x+1) - 1
更妙的是,你可以計算出它像torquestomp建議,這將是更快:
(1 << (x + 1)) - 1
'Math.pow'有兩個參數。你不是指'Math.pow(2,x + 1) - 1'嗎? –
@KlasLindbäck確切地說,謝謝 – piokuc
- 1. Java執行數學公式
- 2. 替代公式
- 3. Python中的數學公式
- 4. 代碼後面的數學公式
- 5. 在數學公式中替換參數的錯誤
- 6. Java 1.5:數學公式分析器
- 7. 數學公式中C++
- 8. 從數學公式
- 9. jQuery數學公式
- 10. PHP數學公式
- 11. 替代常數的公式MATLAB
- 12. 在java中搜索符號形式的數學公式
- 13. 需要的數學公式
- 14. JavaScript的數學公式
- 15. 在java中使用混合數據類型的數學公式
- 16. Python代碼scipy中的數學公式中的錯誤
- 17. Sympy替代數學表達式
- 18. 與數學表達式VIM替代
- 19. 隱式函數的FindFit - 數學公式
- 20. 公式校對和替代
- 21. Sumproduct VBA代替公式
- 22. Crystal Reports - 使用公式替代參數
- 23. 基本的數學方程式的數學到Java代碼
- 24. Apache Pig中的數學公式
- 25. 用mysql中的數學公式排序
- 26. 數學公式中的錯誤:)
- 27. Rails中的數學公式編輯器
- 28. xml字符串中的數學公式
- 29. matlab中的符號數學公式
- 30. 堅持存儲數學數據庫中的數學公式
「這個功能似乎臭名昭着的性能明智的「 - 你測試過嗎?你可以合理預期什麼'x'的值,並且性能至關重要?你現在有什麼? – thegrinner
這是一個幾何級數的總和,有一個公式可以做到這一點 – BlackJoker
@thegrinner對於記錄來說,一個快速的微型基準測試顯示'pow(2,10)'比'1 << 10'慢了160倍。 – assylias