Files
hello-algo/en/codes/kotlin/chapter_divide_and_conquer/fast_power.kt
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

26 lines
469 B
Kotlin

/**
* File: fast_power.kt
* Created Time: 2026-08-18
* Author: Hello Algo Team
*/
package chapter_divide_and_conquer.fast_power
/* Exponentiation by squaring */
fun fastPow(x: Int, n: Int): Int {
if (n == 0) {
return 1
}
val half = fastPow(x, n / 2)
if (n % 2 == 0) {
return half * half
}
return half * half * x
}
fun main() {
check(fastPow(7, 0) == 1)
check(fastPow(3, 5) == 243)
check(fastPow(2, 6) == 64)
}