Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0. входные данные вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно. выходные данные необходимо вывести все решения, если их число конечно, “no” (без кавычек), если решений нет, и “inf” (без кавычек), если решений бесконечно много. примеры входные данные 1 1 2 2 выходные данные no входные данные 2 -4 7 1 выходные данные 2

olesasumakova8ozf25j olesasumakova8ozf25j    1   31.07.2019 03:20    28

Ответы
razumovnikita51 razumovnikita51  03.10.2020 18:12
( 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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика