Вопрос задан 26.07.2026 в 17:43.
Предмет Информатика.
Спрашивает Лачинова Алина.
На Python с использованием if. Решить в целых числах уравнение (ax + b) : (cx + d) = 0. Входные данные: вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно. Выходные данные: необходимо вывести все решения, если их число конечно, «NO» (без кавычек), если решений нет, и «INF» (без кавычек), если решений бесконечно много.
Ответы на вопрос
Отвечает Винокур Олексій.
Дробь равна нулю тогда и только тогда, когда:
-
Числитель равен нулю:
-
Знаменатель не равен нулю:
Разберём случаи.
Если a = 0, то числитель не зависит от x:
-
при
b = 0числитель равен нулю для всех целыхx. Знаменатель может обратиться в ноль максимум при одном значенииx, поэтому допустимых значений всё равно бесконечно много — выводимINF; -
при
b ≠ 0числитель никогда не равен нулю — выводимNO.
Если a ≠ 0, возможное решение:
Оно подходит только тогда, когда является целым числом и не обращает знаменатель в ноль.
Pythona, b, c, d = map(int, input().split())if a == 0: if b == 0: print("INF") else: print("NO") else: if (-b) % a != 0: print("NO") else: x = -b // aif c * x + d == 0: print("NO") else: print(x)
Например, для входных данных:
2 -6 1 5
из числителя получаем:
Знаменатель при этом равен:
Поэтому программа выведет:
3
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

