[英]Greatest Common Divisor Giving 0 instead of 5
計算 GCD 沒有給出適當的回報
//CALC GCD
if (a != 0)
{
b = b % a;
result = gcd(b, a);
}
您忽略了遞歸調用的結果。
GCD(rem, a);
應該
result = GCD(rem, a);
另請注意,您的方法假定第一個參數是較小的數字。 如果您調用GCD(15,10)
而不是GCD(10,15)
,它將無法產生正確的輸出。 如果在a > b
交換a
和b
的方法的開頭添加一個條件,則可以輕松克服此限制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.