Решить уравнение
Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0.
Входные данные
Вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно.
Выходные данные
Необходимо вывести все целочисленные решения, если их число конечно, “NO” (без кавычек), если целочисленных решений нет, и “INF” (без кавычек), если их бесконечно много.
Sample Input:
8 11
Sample Output:
19
C/C++
Нужен готовый код по C++ рабочий без ошибок C++
Товарищ, не видите ли вы очевидной несостыковки между условием "вводится 4 числа" и примером "8 11"?
Ниже приведен готовый код на C++:
```
#include <iostream>
using namespace std;
int main() {
int a, b, c, d;
cin >> a >> b >> c >> d;
if (a == 0 && b == 0) {
cout << "INF";
} else if (a == 0 || b * c == a * d) {
cout << "NO";
} else {
if (b % a == 0 && d % c == 0 && ((-b / a) == (-d / c))) {
cout << (-b / a);
} else {
cout << "NO";
}
}
return 0;
}
```
Программа считывает четыре целых числа - a, b, c, d из стандартного потока ввода с помощью функции `cin`. Затем она проверяет несколько случаев и выводит результат в стандартный поток вывода с помощью функции `cout`.
Если числитель и знаменатель дроби равны нулю, программа выводит "INF" - т.е. бесконечное число целых решений. Если только числитель равен нулю, то решения нет - выводится "NO". Если числитель и знаменатель не равны нулю и не пропорциональны друг другу, то программа проверяет, может ли дробь быть сокращена так, чтобы числитель и знаменатель были целыми числами. Если да, то решение равно целочисленной части дроби. Если же дробь не может быть упрощена до целых чисел, то решения нет - выводится "NO".
```
#include <iostream>
using namespace std;
int main() {
int a, b, c, d;
cin >> a >> b >> c >> d;
if (a == 0 && b == 0) {
cout << "INF";
} else if (a == 0 || b * c == a * d) {
cout << "NO";
} else {
if (b % a == 0 && d % c == 0 && ((-b / a) == (-d / c))) {
cout << (-b / a);
} else {
cout << "NO";
}
}
return 0;
}
```
Программа считывает четыре целых числа - a, b, c, d из стандартного потока ввода с помощью функции `cin`. Затем она проверяет несколько случаев и выводит результат в стандартный поток вывода с помощью функции `cout`.
Если числитель и знаменатель дроби равны нулю, программа выводит "INF" - т.е. бесконечное число целых решений. Если только числитель равен нулю, то решения нет - выводится "NO". Если числитель и знаменатель не равны нулю и не пропорциональны друг другу, то программа проверяет, может ли дробь быть сокращена так, чтобы числитель и знаменатель были целыми числами. Если да, то решение равно целочисленной части дроби. Если же дробь не может быть упрощена до целых чисел, то решения нет - выводится "NO".
Markos Mikaelyan
не рабочий ошибка
Похожие вопросы
- Нужен готовый код по C++
- Нужны готовые ответ на C++
- Нужен готовый ответ по C++
- Нужен готовый ответ на C++
- Помогите найти ошибки в коде на C++, не выводится последняя строчка
- Напишите пожалуйста код на 5 вариант очень простой я на 1 курсе вуза и нужен простой код.
- Очень нужен код на c++ (тема: ГРАФЫ)
- Написать программу на c++ с готовым кодом и блок схемой
- Очень нужна помощь. нужен код на C. Задачка будет в описании.
- Помогите с кодом задачи c++. задача на фото