[ create a new paste ] login | about

Link: http://codepad.org/pOsE1gto    [ raw code | output | fork ]

kabhwan - Ruby, pasted on May 6:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
=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


Output:
1
2^200 = 1606938044258990275541962092341162602522202993782792835301376


Create a new paste based on this one


Comments: