Эта программа должна вычислять наименьшее общее кратное.Это не представляет деление на ноль, ни странные операции (насколько я знаю), но в какой-то момент оно ломается.Программа, похоже, возвращает "Floating point exception (core dumped)"
для любой пары значений.* Условие: a> = 1 и b> = 1. Код:
int mcd(int x, int y) { //computes greatest common divisor
if (x == 0) return y;
return mcd(y, x % y);
}
int mcm(int x, int y) { //computes smallest common multiple
return x * y / mcd(x, y);
}
int main() {
int a, b;
int counter = 0;
while (cin >> a >> b) {
++counter;
cout << "#" << counter
<< " : " << mcm(a, b) << endl;
}
}
Что вызывает такое поведение?