#c
#c
Вопрос:
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
int n1, n2;
cin >> n1 >> n2;
int lcm = n1 * n2; //Line 2
int rem = lcm / gcd;
cout << gcd(n1, n2) << endl;
cout << rem << endl;
Я получаю сообщение об ошибке в строке 2: «ошибка: недопустимые операнды типов ‘int’ и ‘int (int, int)’ в двоичный ‘operator /’ «. Я использую текстовый редактор Sublime для компиляции.
Комментарии:
1. Я использую текстовый редактор Sublime для компиляции — Sublime не является компилятором C . g , clang, Visual C — это компиляторы C .
2. Также обратите внимание, что в C уже есть std::gcd . Не зная, как выглядит остальная часть вашего кода, если вы используете этот
<bits...>
заголовок, который я вижу слишком часто, плюсusing namespace std;
, ваша программа может не вызыватьgcd
функцию, которую, по вашему мнению, она будет вызывать.
Ответ №1:
Вы получаете ошибку, потому что вы не можете разделить целые числа на функции.
Вместо
int rem = lcm / gcd;
кажется, вы хотели вызвать функцию gcd
.
int rem = lcm / gcd(n1, n2);