
Задача 2: Потерявшееся число Тимофей выбрал натуральное число n, делящееся на 6, и записал на
трёх разных карточках само число n, его половину и его треть. Однако, эти карточки перепутались между собой, а затем одна из них потерялась. Теперь у Тимофея есть только две карточки, на которых написаны числа a и b. Помогите ему вспомнить, что за число было написано на третьей. Входные данные Программа получает на вход два натуральных числа a и b (1 ≤ a < b ≤ 109). Число a находится в первой строке, b — во второй. Выходные данные Выведите одно натуральное число — ответ на вопрос задачи. Гарантируется, что входные данные таковы, что ответ cуществует, единственен и не превосходит 109. Система оценки Решение, правильно работающее в случае, когда b ≤ 1000, получит не менее 40 баллов.

Ответы на вопрос

a = int(input())
b = int(input())
t = int()
if(a<b):
t = a
a = b
b = t
if(a/b == 3):
print(int(a / 2))
elif(a / b == 2):
print(int(a / 3))
else:
print(a * 2)



Для решения этой задачи можно воспользоваться алгоритмом поиска потерянного числа.
Поскольку числа a и b получены путем деления числа n на две разные доли (половину и треть), можно заметить следующее:
1. При умножении числа a на 2 получается число, которое делится нацело на 3. То есть, a * 2 делится на 3 без остатка. 2. При умножении числа b на 3 получается число, которое делится нацело на 2. То есть, b * 3 делится на 2 без остатка.
Теперь можем рассмотреть возможные значения потерянного числа. Поскольку a и b получены из числа n, они должны быть меньше или равны n. То есть, потерянное число должно находиться в интервале от 1 до n.
Проверим все числа в этом интервале. Для каждого числа i будем применять описанные выше условия и проверять, выполняются ли они для a и b. Если выполняются, значит i – искомое потерянное число.
Вот пример кода на языке Python, реализующий описанную логику:
```python a = int(input()) b = int(input())
n = a * b * 6 # Находим произведение a, b и 6, чтобы получить исходное n
for i in range(1, n + 1): if (i * 2) % 3 == 0 and (i * 3) % 2 == 0: print(i) break ```
Таким образом, алгоритм перебирает все числа от 1 до n и проверяет, выполняются ли условия для a и b. Как только находится число, которое удовлетворяет условиям, оно выводится на экран и цикл прерывается с помощью оператора `break`.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili