有人可以解釋為什么我們將 b 與零進行比較,然后在引數中將其交換為 a 嗎?這種方法背后的原因是什么?我很難理解這個演算法。
public int gcd(int a, int b) {
if (b==0) return a;
return gcd(b,a%b);
}
uj5u.com熱心網友回復:
據我了解,這是一個叫做Euclidean algorithm的原理。如果較大的值被其與較小值的差值所取代,則兩個值不會改變。GCD 是將兩個或多個值相除而不留余數的最大正值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/400702.html
上一篇:用于連續過濾最近結果資料的JavaScript演算法
下一篇:使陣列相等的最小傳輸
