我想寫一個遞歸計算指數的小程序,我有點卡住了。這是一項家庭作業,我們被要求有一個基本案例,當指數是一個奇數,當指數是偶數時。到目前爲止,我有這個:遞歸求冪
def quick_power(x,n):
if n == 0:
return 1
elif n % 2 != 0:
return x * quick_power(x, n-1)
elif n % 2 == 0:
return quick_power(quick_power(x, n//2), 2)
而且我知道n%2 == 0的行不是它應該是。任何幫助表示讚賞。謝謝。
爲什麼你有那些偶數/奇數的支票? –
@Anand:這個問題說這個任務說應該有這些檢查。也就是說,有一個很好的理由:這是[平方指數]的算法(https://en.wikipedia.org/wiki/Exponentiation_by_squaring)。 – icktoofay