=begin
거듭제곱 의 점화식
c^n = c^(n/2) * c^(n/2), n is even
c^((n-1)/2) * c^((n-1)/2) * c, n is odd
c, n == 1
1, n == 0
이를 이용하여 divide and conquer 로 c를 n 번 곱하지 않고 c^n 을 구한다
=end
def power(number, exponent)
return 1 if 0 == exponent
return number if 1 == exponent
(0 == exponent & 1) ?
power(number, exponent / 2) ** 2 :
(power(number, (exponent - 1) / 2) ** 2) * number
end
puts "2^200 = " + power(2, 200).to_s