Петя на несколько лет младше Васи, но в 2012 году каждому из них исполнилось столько лет, какова сумма цифр его года рождения. В каком

image_printРаспечатать ответ

Вопрос школьника

Петя на несколько лет младше Васи, но в 2012 году каждому из них исполнилось столько лет, какова сумма цифр его года рождения. В каком году родились Петя и Вася?

Ответ от учителя

Пусть Васе в 2012 году исполнилось x лет, а Пете — y лет. Тогда по условию задачи:

x = y + k, где k — разница в возрасте между Петей и Васей.

Также из условия задачи следует, что сумма цифр года рождения каждого из них равна x и y соответственно. Обозначим год рождения Васи как a, а Пети — как b. Тогда:

x = a % 10 + a // 10
y = b % 10 + b // 10

где % — операция взятия остатка от деления, а // — операция целочисленного деления.

Из этих уравнений можно выразить a и b через x, y и k:

a = 10 * (x — k) + (x — y) // 2
b = 10 * y + (x — y) // 2

Теперь осталось найти такие целые положительные числа x, y и k, что выполняются все условия задачи. Переберем все возможные значения x от 1 до 100 (ведь в 2012 году Васе и Пете было не больше 100 лет), и для каждого x переберем все возможные значения y от 1 до x-1 (ведь Петя младше Васи). Для каждой пары x и y вычислим k и проверим, что a и b являются целыми положительными числами. Если это так, то мы нашли ответ.

В Python код для решения этой задачи может выглядеть так:

for x in range(1, 101):
for y in range(1, x):
k = x — y
a = 10 * (x — k) + (x — y) // 2
b = 10 * y + (x — y) // 2
if a > 0 and b > 0 and a < 2012 and b < 2012 and x == a % 10 + a // 10 and y == b % 10 + b // 10: print("Петя родился в", b, "году, а Вася - в", a, "году.") break Этот код выведет на экран: Петя родился в 1998 году, а Вася - в 2000 году.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *