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

27 lines
481 B
Swift

/**
File: fast_power.swift
Created Time: 2026-08-18
Author: Hello Algo Team
*/
/* 快速幂 */
func fastPow(x: Int, n: Int) -> Int {
if n == 0 {
return 1
}
let half = fastPow(x: x, n: n / 2)
if n % 2 == 0 {
return half * half
}
return half * half * x
}
@main
enum FastPower {
static func main() {
assert(fastPow(x: 7, n: 0) == 1)
assert(fastPow(x: 3, n: 5) == 243)
assert(fastPow(x: 2, n: 6) == 64)
}
}