mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-18 14:30:58 +00:00
28c1e74c1d
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.
27 lines
481 B
Swift
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)
|
|
}
|
|
}
|