所以我正在學習C++,在我正在閱讀的一本書中,有一個用於查找GCF(最大公因數)的例子。功能如下:Simple Modulo Operations
int gcf(int a, int b) {
if(b == 0) {
return a;
}
else {
return gcf(b, a%b);
}
}
我不明白的是,如果我把15和5例如,然後
a = 15
b = 5
b is not 0 so then the else statement executes
(5, 15%5 = 0) so since b is now 0 it returns, a, which is 5.
這是有道理的,但如果我扭轉號碼,爲什麼/我如何得到相同的答案?
a = 5
b = 15
b is not 0 so then the else statement executes
(15, 5%15) but 5%15 is .3 or 1/3, but in C++, 5%15 returns 5.
我不明白的地方5從何而來,如果有的話,因爲它是一個整數,我想這也許返回0,但它不返回15,所以這是不可能的。
從什麼時候開始'5%15 = 1/3'?你是否模糊分裂? – Mysticial 2012-03-02 05:33:56
其5/15的剩餘部分將爲0,剩餘部分爲5 – L7ColWinters 2012-03-02 05:34:25
我認爲我把分工與模數混淆了。 – Matt 2012-03-02 05:42:49