Files
hello-algo/ja/codes/python/chapter_divide_and_conquer/fast_power.py
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
403 B
Python

"""
File: fast_power.py
Created Time: 2026-08-18
Author: Hello Algo Team
"""
def fast_pow(x: int, n: int) -> int:
"""高速べき乗"""
if n == 0:
return 1
half = fast_pow(x, n // 2)
if n % 2 == 0:
return half * half
return half * half * x
if __name__ == "__main__":
assert fast_pow(7, 0) == 1
assert fast_pow(3, 5) == 243
assert fast_pow(2, 6) == 64