看板 C_Sharp 關於我們 聯絡資訊
以下是求兩個數字的最大公因數.... 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
psliurt:國中的數學告訴我,3除以10,得商數0,餘數3...應該沒錯 10/15 21:30