Files
hello-algo/ja/codes/ruby/chapter_divide_and_conquer/fast_power.rb
T
Yudong Jin 7257641e0e Retranslate the complete Japanese online edition from Chinese (#2008)
* Retranslate the complete Japanese online edition from Chinese

* Fit Japanese homepage labels and localize heading permalinks

* Point Japanese contribution instructions to the Japanese preview

* Replace locale conditionals with multilingual UI tables
2026-10-30 02:12:26 +08:00

22 lines
517 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 '高速べき乗法の検証に失敗しました' unless fast_pow(7, 0) == 1
raise '高速べき乗法の検証に失敗しました' unless fast_pow(3, 5) == 243
raise '高速べき乗法の検証に失敗しました' unless fast_pow(2, 6) == 64
end