• 1
    Ввод и вывод данных
    • Задачи
  • 2
    Условия
    • Задачи
  • 3
    Цикл for
    • Задачи
  • 4
    Строки
    • Задачи
  • 5
    Цикл while
    • Задачи
  • 6
    Списки
    • Задачи
  • 7
    Двумерные массивы
    • Задачи
  • 8
    Словари
    • Задачи
  • 9
    Множества
    • Задачи
  • 10
    Функции и рекурсия
    • Задачи
  • к

Занятие 2. Условия

Уровень сложности:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

Задача«Загадка Древнего Хранилища»

Вы — отважный искатель приключений, стоящий перед массивной дверью древнего хранилища. На двери три рунических пьедестала, на которые нужно положить три магических камня с определенным весом. Легенды гласят, что дверь откроется только при соблюдении строгой последовательности правил. Если нарушить порядок или использовать неверную комбинацию, сработает ловушка или механизм просто не сработает.

Правила открытия:

  1. Суммарный вес трёх камней (ABC) должен быть в точности равен 100. Это главное условие активации механизма.
  2. Если суммарный вес правильный (равен 100), механизм проверяет на ловушки. Ловушка срабатывает, если вес любых двух камней одинаков. Древние не терпели дубликатов.
  3. Если ловушка не сработала, идёт дальнейшая проверка. Вес каждого камня должен быть строго больше 10. Камни с меньшим весом считаются "незрелыми".
  4. И последнее, самое хитрое правило: среди трёх камней хотя бы один должен иметь простой вес (простое число). Это "ключ" к замку.

Ваша задача — написать программу, которая по весу трёх камней определит, что произойдет.

Формат ввода

Одна строка, содержащая три целых положительных числа AB и C, разделенные пробелами.

Формат Вывода

В зависимости от выполнения условий, программа должна вывести одну из трёх фраз:

  • Хранилище открыто — если все условия для открытия выполнены.
  • Ловушка! — если сработала ловушка на одинаковые камни (при условии, что их сумма равна 100).
  • Неверная комбинация — во всех остальных случаях (сумма не равна 100; или один из камней <= 10; или нет ни одного камня с простым весом).

Пример

Ввод

17 40 43

Вывод

Хранилище открыто

Подсказка

Тут подсказки не будет, решай сам!

main.py
Тест 1
Тест 2
Тест 3
Тест 4
Тест 5
Тест 6
Тест 7
Тест 8
Тест 9
Тест 10
Решение разработчика
# Функция для проверки, является ли число простым
def is_prime(n):
    if n <= 1:
        return False
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while i * i <= n:
        if n % i == 0 or n % (i + 2) == 0:
            return False
        i += 6
    return True

# Считываем веса трех камней
a, b, c = map(int, input().split())

# 1. Проверяем главное условие: суммарный вес должен быть равен 100
if a + b + c != 100:
    print("Неверная комбинация")
else:
    # 2. Проверяем ловушку: вес любых двух камней не должен быть одинаковым
    if a == b or a == c or b == c:
        print("Ловушка!")
    else:
        # 3. Проверяем, что вес каждого камня строго больше 10
        if a <= 10 or b <= 10 or c <= 10:
            print("Неверная комбинация")
        else:
            # 4. Проверяем, что хотя бы один камень имеет простой вес
            if is_prime(a) or is_prime(b) or is_prime(c):
                print("Хранилище открыто")
            else:
                print("Неверная комбинация")

🎉 Поздравляем! 🎉

Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.

AD

Реклама

red-snake blue-snake green-snake

Запускаем ваш код...

Помощник ИИ

Привет! Я твой помощник по программированию. Задавай любые вопросы по Python, я могу рассказать о функциях, методах, обьяснить то, что тебе не понятно, а так же о текущей задаче!