Решить уравнение
Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0.
Входные данные
Вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно.
Выходные данные
Необходимо вывести все целочисленные решения, если их число конечно, “NO” (без кавычек), если целочисленных решений нет, и “INF” (без кавычек), если их бесконечно много.
Sample Input:
8 11
Sample Output:
19
C/C++
Нужны готовые ответ на C++
( ax + b ) : ( cx + d ) = 0 эквивалентно
a * x + b == 0 при c * x + d != 0
a * x + b == 0 при c * x + d != 0
int a, b, c, d;
cin >> a >> b >> c >> d;
if (a == 0) {
cout
Хамид Раджабов
не подходить код ошибка
#include <iostream>
using namespace std;
int main() {
int a, b, c, d;
cin >> a >> b >> c >> d;
if (a == 0 && b == 0) {
cout << "INF" << endl;
return 0;
}
if (a == 0 || b % a != 0 || c == 0 && d != 0 || c != 0 && d % c != 0) {
cout << "NO" << endl;
return 0;
}
int x = -b / a, cnt = 0;
while (true) {
if ((double)(d * x) / (double)(-c * x + a) == 1.0 * (double)(d * x) / (double)(-c * x + a)) {
cnt++;
cout << x << endl;
}
x++;
if (cnt >= 1000) break; // print at most 1000 solutions
}
return 0;
}
Код сначала принимает входные значения a, b, c и d от пользователя. Затем он проверяет, существует ли бесконечно много решений или их вообще нет, основываясь на заданных ограничениях. Если существует конечное число решений, код выполняет итерацию по всем значениям x и проверяет, удовлетворяют ли они уравнению. Если x удовлетворяет уравнению, оно считается решением и выводится на печать. Код также ограничивает количество напечатанных решений до 1000.
using namespace std;
int main() {
int a, b, c, d;
cin >> a >> b >> c >> d;
if (a == 0 && b == 0) {
cout << "INF" << endl;
return 0;
}
if (a == 0 || b % a != 0 || c == 0 && d != 0 || c != 0 && d % c != 0) {
cout << "NO" << endl;
return 0;
}
int x = -b / a, cnt = 0;
while (true) {
if ((double)(d * x) / (double)(-c * x + a) == 1.0 * (double)(d * x) / (double)(-c * x + a)) {
cnt++;
cout << x << endl;
}
x++;
if (cnt >= 1000) break; // print at most 1000 solutions
}
return 0;
}
Код сначала принимает входные значения a, b, c и d от пользователя. Затем он проверяет, существует ли бесконечно много решений или их вообще нет, основываясь на заданных ограничениях. Если существует конечное число решений, код выполняет итерацию по всем значениям x и проверяет, удовлетворяют ли они уравнению. Если x удовлетворяет уравнению, оно считается решением и выводится на печать. Код также ограничивает количество напечатанных решений до 1000.
Хамид Раджабов
ошибка код
Хамид Раджабов
может там какая то ошибка? не работает код
Хамид Раджабов
ну спасибо
Похожие вопросы
- Нужен готовый ответ по C++
- Нужен готовый ответ на C++
- Нужен готовый код по C++ рабочий без ошибок C++
- Нужен готовый код по C++
- Помощь нужна готовые ответы
- Для чего нужен Push_Back() в C++
- Задача по c++ на векторы. Часть программы написана. Нужны правки.
- Нужна помощь с выполнением заданий в C++
- Нужна помощь при решении задачи в c++
- Знатоки C++ и математики. Нужна ваша помощь.