16. Есть арифметический фокус, позволяющий угадать дату рождения любого из окружающих вас людей. Для этого нужно, чтобы этот человек выполнил предварительные вычисления по следующему алгоритму: умножил число, соответствующее его дню рождения, на 2, прибавил к результату 5, полученный результат умножил на 50 и прибавил к тому, что получилось, номер месяца, в который он родился. Результат вычислений он должен сообщить вам. Для того чтобы узнать дату рождения, достаточно вычесть из результата вычислений число 250. Последние две цифры полученного числа будут соответствовать месяцу, первые две (первая одна) — числу месяца угадываемой даты рождения. Попробуйте составить программу-диалог с компьютером, в которой компьютер будет запрашивать у пользователя имя, сообщать ему алгоритм предварительных вычислений и запрашивать их результат, после чего «угадает» и сообщит пользователю день и месяц его рождения.
Ответ
Вот пример программы на языке Python, которая реализует данный диалог:
def guess_birthday():
# Запрашиваем имя пользователя
name = input("Введите ваше имя: ")
# Сообщаем пользователю алгоритм предварительных вычислений
print(f"{name}, для угадывания вашей даты рождения выполните следующие вычисления:")
print("1. Умножьте число, соответствующее вашему дню рождения, на 2.")
print("2. Прибавьте к результату 5.")
print("3. Умножьте полученный результат на 50.")
print("4. Прибавьте к результату номер месяца, в который вы родились.")
# Запрашиваем результат вычислений у пользователя
result = int(input("Введите результат вычислений: "))
# Вычисляем дату рождения
date = result - 250
day = date % 100
month = date // 100
# Выводим результат
print(f"{name}, ваш день рождения - {day} {month}.")
# Вызываем функцию guess_birthday
guess_birthday()
В данной программе:
- Функция guess_birthday() запрашивает имя пользователя, сообщает ему алгоритм предварительных вычислений, затем запрашивает результат вычислений и выводит угаданную дату рождения.
- Внутри функции выводятся соответствующие инструкции пользователю.
- Затем, с помощью функции input(), запрашивается и сохраняется введенный результат вычислений.
- Далее, вычисляется дата рождения путем вычитания числа 250 из введенного результата. Последние две цифры полученного числа будут соответствовать дню, а первые две (первая одна) — месяцу рождения.
- Результат выводится на экран с помощью функции print().
Таким образом, программа запрашивает имя пользователя, сообщает алгоритм вычислений, запрашивает их результат и «угадывает» дату рождения пользователя, выводя ее на экран.