mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-18 06:20: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.
22 lines
433 B
Ruby
22 lines
433 B
Ruby
=begin
|
|
File: fast_power.rb
|
|
Created Time: 2026-08-18
|
|
Author: Hello Algo Team
|
|
=end
|
|
|
|
### 快速幂 ###
|
|
def fast_pow(x, n)
|
|
return 1 if n == 0
|
|
|
|
half = fast_pow(x, n / 2)
|
|
return half * half if n.even?
|
|
|
|
half * half * x
|
|
end
|
|
|
|
if __FILE__ == $0
|
|
raise 'fast power check failed' unless fast_pow(7, 0) == 1
|
|
raise 'fast power check failed' unless fast_pow(3, 5) == 243
|
|
raise 'fast power check failed' unless fast_pow(2, 6) == 64
|
|
end
|