Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0. Входные данные Вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно. Выходные данные Необходимо вывести все решения, если их число конечно, “NO” (без кавыч...

Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0. Входные данные Вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно. Выходные данные Необходимо вывести все решения, если их число конечно, “NO” (без кавычек), если решений нет, и “INF” (без кавычек), если решений бесконечно много. Примеры входные данные 1 1 2 2 выходные данные NO входные данные 2 -4 7 1 выходные данные 2
Гость
Ответ(ы) на вопрос:
Гость
( ax + b ) : ( cx + d ) = 0 Сводим уравнение к системе: { ax + b = 0 { cx + d ≠ 0 { ax = -b { cx ≠ -d Можно учесть все случаи, используя больше 16 условий, но я предпочту более оптимальный вариант, так как знаю как зависит количество корней линейного уравнения от коэффициентов. Программа на паскале: var a, b, c, d: real; begin   read(a, b, c, d);   if (c = 0) and (d = 0) then writeln('NO')   else if (a = 0) and (b = 0) then writeln('INF')   else if a = 0 then writeln('NO')    else if c = 0 then writeln(-b/a)   else if b/a = d/c then writeln('NO')   else writeln(-b/a) end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы