🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Вы — отважный искатель приключений, и в ходе своих странствий вы обнаружили таинственный сундук в подземелье древнего замка. Сундук заперт на магический криптографический замок, который требует ввода трёх секретных чисел. Легенда, начертанная на стене, гласит, что замок откроется, если выполняется хотя бы одно из двух условий:
Напомним, что простое число — это натуральное число больше 1, которое делится без остатка только на 1 и на само себя (например, 2, 3, 5, 7, 11).
Ваша задача — написать программу, которая поможет вам быстро проверять комбинации чисел. Программа должна по трём введённым целым числам определять, откроется ли замок.
Три целых числа (integer), каждое вводится с новой строки. Это секретные числа для замка.
Строка (string) с результатом: "Замок открыт" или "Замок заперт".
3
5
7
Замок открыт
# Запрашиваем у пользователя три целых числа
a = int(input())
b = int(input())
c = int(input())
# Проверка первого условия: строго возрастающая последовательность
# Эта переменная будет True, если a < b и b < c, иначе False
is_increasing = a < b < c
# Проверка второго условия: все три числа являются простыми
# Создаем флаги для каждого числа, по умолчанию считаем их простыми
a_is_prime = True
b_is_prime = True
c_is_prime = True
# Проверяем число 'a' на простоту
if a <= 1:
# Числа меньше или равные 1 не являются простыми
a_is_prime = False
else:
# Перебираем все возможные делители от 2 до a-1
for i in range(2, a):
# Если нашелся делитель без остатка, число не простое
if a % i == 0:
a_is_prime = False
break # Прерываем цикл, так как дальше проверять нет смысла
# Проверяем число 'b' на простоту (логика аналогична)
if b <= 1:
b_is_prime = False
else:
for i in range(2, b):
if b % i == 0:
b_is_prime = False
break
# Проверяем число 'c' на простоту (логика аналогична)
if c <= 1:
c_is_prime = False
else:
for i in range(2, c):
if c % i == 0:
c_is_prime = False
break
# Итоговый флаг для второго условия: будет True, только если все три флага True
all_are_prime = a_is_prime and b_is_prime and c_is_prime
# Финальное решение
# Замок откроется, если выполнено хотя бы одно из двух условий (оператор or)
if is_increasing or all_are_prime:
print("Замок открыт")
else:
print("Замок заперт")
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...