ЯП - Python 3.8

Напишите программу, которая вводит четыре натуральных числа (a, b, c и d) и находит все пятизначные числа, которые при делении на a дают в остатке b , а при делении на c дают в остатке d .

[Входные данные]
Первая входная строка содержит два натуральных числа, разделённые пробелами: a и b. Вторая строка содержит натуральные числа c и d, также разделённые пробелом. Гарантируется, что 0 ≤ b ≤ a и 0 ≤ d ≤ c.

[Выходные данные]
Программа должна вывести в одну строчку через пробел все пятизначные натуральные числа, которые при делении на a дают в остатке b, а при делении на c дают в остатке d . Если таких чисел нет, программа должна вывести выбивается ло -1.

входные данные
133 125
134 111
выходные данные
19809 37631 55453 73275 91097

Мой код, который пытался сделать. С -1 не вышло, пустоту выбивает:
a, b = map(int, input().split())
c, d = map(int, input().split())
count=0

for i in range (10000,100000):
if i % a == b and i % c == d:
print(i, end = ' ')
count+=1
if count == 0:
print = ("-1")

---
ЯП - Python. ​

Чеширский1 Чеширский1    3   17.02.2020 00:19    390

Ответы
22222ssssssss 22222ssssssss  19.01.2024 21:58
Привет! Я рад, что ты обратился ко мне с вопросом. Давай разберемся с ним пошагово.

В данной задаче нам нужно написать программу, которая найдет все пятизначные числа, удовлетворяющие условиям деления на a и c с заданными остатками b и d соответственно.

Первый шаг - ввод данных. У нас есть две строки с числами a, b и c, d, разделенные пробелами. Мы можем использовать функцию input() для ввода данных и функцию map() для преобразования строк в целые числа:

a, b = map(int, input().split())
c, d = map(int, input().split())

Next, мы можем инициализировать переменную "count" для подсчета найденных чисел, которые удовлетворяют условиям. Для начала она равна нулю:

count = 0

Затем мы можем использовать цикл for для проверки всех пятизначных чисел от 10000 до 99999. Для каждого числа в этом диапазоне мы проверим условия деления на a и c:

for i in range(10000, 100000):
if i % a == b and i % c == d:
print(i, end=' ')
count += 1

Если найдено число, которое удовлетворяет условиям, мы его выводим с помощью print(). Кроме того, мы увеличиваем счетчик count на 1.

В конце программы мы проверяем значение переменной count. Если count осталась равной нулю, это означает, что не было найдено чисел, удовлетворяющих условиям. В таком случае мы выводим "-1":

if count == 0:
print("-1")

Вот и все! Теперь программа должна работать корректно и выводить все пятизначные числа, которые удовлетворяют условиям, или "-1", если таких чисел нет.

Надеюсь, эта подробная разборка поможет тебе лучше понять задачу и разобраться с ее решением. Если у тебя возникнут еще вопросы, не стесняйся обращаться ко мне. Удачи в изучении программирования!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика