哇! 不對了, 這裡的被除數 iRemainder 是前一步驟中的除數, 這裡的除數 iRemainder 是前一步驟中的餘數, 可是在產生餘數時我們把除數給蓋掉了。
在前一步驟中
iRemainder = iSecondNumber % iRemainder;
之前我們必須先將先前的餘數記錄下來,例如:
iDivident = iRemainder;
還有另外一個問題是: 每一次做除法時除數和被除數放的地方 (變數) 都不一樣, 這樣子寫程式時很不方便, 也沒有辦法用迴圈來處理, 因為迴圈內所作的事情除了變數內的資料值不一樣之外, 動作應該要是一樣的。
只要求出 42 及 33 的最大公因數, 就可以輕鬆地得到 75 及 42 的最大公因數。