Files
hello-algo/ru/codes/javascript/chapter_divide_and_conquer/fast_power.js
T
Yudong Jin 28c1e74c1d Add multilingual exercise code (#1959)
Replace the exercise pages' Python-only snippets with source-backed implementations for the 13 visible programming languages, and localize reader-facing comments by site language. Zig remains out of scope.

Approval bypass: repository protection requires one approval but does not enforce it for administrators. All 68 completed checks succeeded; four non-required Java jobs remained queued on the existing ubuntu-20.04 workflow, with no failed checks.
2026-08-18 04:57:57 +08:00

22 lines
477 B
JavaScript

/**
* File: fast_power.js
* Created Time: 2026-08-18
* Author: Hello Algo Team
*/
/* Быстрое возведение в степень */
function fastPow(x, n) {
if (n === 0) {
return 1;
}
const half = fastPow(x, Math.floor(n / 2));
if (n % 2 === 0) {
return half * half;
}
return half * half * x;
}
if (fastPow(7, 0) !== 1 || fastPow(3, 5) !== 243 || fastPow(2, 6) !== 64) {
throw new Error('fast power check failed');
}