Итак, я изучаю C ++, и в одной из книг, которые я читаю, есть пример для поиска GCF (наибольший общий фактор).Функция выглядит следующим образом:
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, так что не может быть.