Files
hello-algo/ja/codes/ruby/chapter_divide_and_conquer/fast_power.rb
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
439 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