Мне нужно суммировать мощность 2 от любой цифры x до 0. Если x = 6, желаемая сумма равна 2pow6 + 2pow5 + ..... 1. Хотя я всегда могу написать алгоритм, чтобы свести к нулю с помощью Math.pow - эта функция кажется печально известной в цикле. Был бы признателен, если бы кто-то мог помочь достичь того же, используя сменные двоичные операторы - я слышал, что они намного эффективнее, чем pow.Math pow альтернатива в java
ответ
2^п + 2^(п-1) + 2^(п-2) + ... + 2 + 1 = (2^(п + 1) - 1) = ((1 << (n+1)) - 1)
Глупо от меня. Иногда технология заставляет нас забыть, что математика может иметь решение тоже !!! – 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. BlackBerry Math Utilities (Pow & Round)
- 2. Math «pow» в Java и C# возвращает несколько разные результаты?
- 3. Альтернатива класса Math для поплавков
- 4. Экспонент Math в Java
- 5. Java Math Formula Loops
- 6. Java math issue
- 7. java math result types
- 8. Math Выражение «родовое» в Java
- 9. ускоряя расчеты Math в Java
- 10. Java Vector Math читаемость
- 11. Math - картографические номера java
- 12. Застрял с java Math
- 13. Android java math prob
- 14. Java Дата Math Issue
- 15. Java Code Simple Math
- 16. Java Math Prooblem
- 17. Java: Math состояние
- 18. Java Programming Basic Math
- 19. Реализация моей собственной функции pow в Java
- 20. Math раунд Java выпуска 2,495 до 2 цифр = 2,49
- 21. Альтернатива File.Exists() в Java
- 22. Альтернатива lxml в Java?
- 23. Альтернатива FontMetrics в Java
- 24. Альтернатива MultiThreading в Java
- 25. TreeMap альтернатива в Java
- 26. Альтернатива Loopback в JAVA
- 27. Альтернатива «goto» в Java
- 28. Float vs double Math Java
- 29. Java Math (s) Parsing API
- 30. Do Math in Java Spring
" эта функция кажется печально известной »- вы протестировали это? Какие значения 'x' вы можете разумно ожидать и критически важны? Что у вас уже есть? – thegrinner
Это сумма геометрической прогрессии, есть формула для этого – BlackJoker
@thegrinner. Для записи быстрый микро-тест показывает, что 'pow (2,10)' примерно в 160 раз медленнее, чем '1 << 10'. – assylias