推 psliurt:國中的數學告訴我,3除以10,得商數0,餘數3...應該沒錯 10/15 21:30
以下是求兩個數字的最大公因數....
int A = 0;
int B = 0;
int MaxGCD = 0;
A = int.Parse(mTB_A.Text); //假設A是3
B = int.Parse(mTB_B.Text); //假設B是10
MaxGCD = GCD(A, B); //將A=3 B=10帶入GCD
MessageBox.Show(this, "A=" + A + ",B=" + B + "\r\n" +
"最大公因數=" + MaxGCD.ToString(), "遞迴範例");
}
public int GCD(int M, int N)
{
if (M % N == 0) //逐步執行後..跑到這一段..因為3 % 10不等於0
{ 所以到return GCD(N, M % N);
return N;
}
else
{
return GCD(N, M % N); // 這時候return GCD(N=10,3%10) 再帶一次
int GCD(int M, int N),問題來了...
單步執行電腦顯示M = 10 N = 3.....
我知道M=10的由來..可是N為什麼=3呢?
難道3 % 10 = 3 ?
} // 這部份可以請高手解答嗎???
} 再用單部執行下去又變成M = 3 N = 1
小弟真的不太懂這一段....
先謝謝各位回答了...
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.143.3