我發現這個解決方案:遞歸最大公約數解釋
function gcd_rec(a, b) {
if (b) {
return gcd_rec(b, a % b);
} else {
return Math.abs(a);
}
}
我試圖環繞它是如何工作的我的頭,我卡在第二行if (b) {
顯然它應該如果存在b
,請通過函數(本身)運行?是真的?但是這一次運行時,它在那裏a
現在的b
和b
價值是現在的a
由b
所得的餘數。
這是否意味着它永遠不會返回Math.abs(a)
只要用戶將一個值b
???
有人可以解釋這樣對我?
'如果(B)'不會在此代碼成功時'B'是'0'。也就是說,當'b'爲零時代碼退出,結果在'a'中找到。 – Pointy 2014-11-20 19:23:07