2014-10-01 47 views
1

將求冪加到結果上的這條線似乎並沒有成功。怎麼來的?.times block not working。怎麼來的?

def pow(base, exponent) 
    result = 0 
    exponent.times do 
     result += base * base 
    end 
    result 
end 
+0

是'exponent = 0'? – Surya 2014-10-01 18:59:21

+0

您在這裏計算'exponent * base ** 2'。我不認爲這就是你想要的。 – 2014-10-01 18:59:50

+0

您需要使用'result = 1'而不是'result = 0',並且'result * = base'而不是'result + = base * base'。 – 2014-10-01 19:01:42

回答

2

時間塊工作正常。爲了將基數b提升到指數n,需要乘以1 n乘以n。

def pow(base, exponent) 
    result = 1 
    exponent.times do 
     result *= base 
    end 
    result 
end