К основному контенту

Детская математика. Задачке все возрасты покорны

Задачек подобной этой - множество, так случилось, что мне прислали именно эту. Взята из учебника для 6-го класса:
Мне теперь вдвое больше лет, чем было тогда, когда мой брат был в моем возрасте. Когда мне будет столько лет, сколь теперь брату, то нам вместе будет 98 лет. Сколько лет каждому?
Задачка трудна только тем, что несколько путает наличие сложных взаимосвязей в условии. Но это не беда. Начнем аккуратно анализировать условия.

Итак, мы понимаем, что речь идет о том, что было раньше (момент времени "Тогда"), о том, что есть сейчас и о том, что будет. Запишем возраста в каждый временной промежуток и свяжем их между собой на основании условий.

1. Тогда (в прошлом)
Пусть мне было: m лет, брату было n лет.

2. Теперь (в настоящем)
Мне в 2 раза больше лет, чем в момент времени "тогда". Это мы берем из условия "Мне теперь вдвое больше лет, чем было тогда", а значит мне 2*m лет. Сколько брату? Очевидно, что прошло с момента времени "Тогда" прошло m лет, значит брату - n + m лет.

3. Будет (в будущем)
Мы пока не знаем, сколько прошло лет, но "Когда мне будет столько лет, сколько теперь брату", говорит косвенно о том, что прошло x лет = n + m - 2m = n - m. Значит, мне - 2*m + x, а брату - n + m + x.

Получилось, что у нас 2 неизвестные: m и n (x в расчет не берем - его мы уже вычислили через m и n), а значит на нужно 2 уравнения. Мы еще не использовали условия взаимосвязи между временами, а именно:
1. Мне в двое больше, чем когда брат был в моем возрасте (теперяшнем), т.е. я сейчас в возрасте брата в момент времени "Тогда" и, при этом, мой возраст в 2 раза больше, чем возраст "Тогда".
Вывод: 2*m (мой возраст сейчас) = n (возраст брата тогда)
2. Когда мне будет столько лет, сколь теперь брату, то нам вместе будет 98, т.е. когда пройдет x лет, и мне станет столько, сколько брату сейчас, и брат станет старше на x лет, в сумме будет 98
Вывод: 2*m + x + n + m + x = 98

Подставим x и решим систему:
n = 2m
2m + (n - m) + n + m + (n - m) = 98, упростим выражение, получим: 3n + m = 98
подставим 2m, вместо n во 2-ое уравнение, тогда 6m + m = 98, 7m = 98, m = 14; n = 28.

Это еще не все, смотрим, что бы обозначили за m и n и чего нужно получить. m - мой возраст тогда, n - возраст брата тогда. А нам нужен возраст сейчас, соответственно
Сейчас мне - 2*m = n = 28 лет, брату - n + m = 42 года

Ответ:
Сейчас мне 28 лет, а брату 42 года.

Комментарии

Популярные сообщения из этого блога

Занимательные алгоритмы. Поиск цикла в односвязном списке

И снова про тараканов, которые иногда возникают в голове. Как-то раз, засыпая, я задумался на курьезными задачками из своей сферы деятельности (Lotus Notes), которые можно было бы задать на собеседовании, плавно перешел к воспоминаниям о своих первых собеседования, когда опыта работы еще не было. Опыт самих собеседований у меня не велик а места, где задавались действительно интересные задачи (а не задачки типа: написать сортировку массива любым известным способом) вообще равны одному - это ABBYY. Как минимум одна задачка в списке на знание и понимание классических алгоритмов, описанных в книге Дональда Кнута -  Искусство программирования .

Unit-testing object validation when validator has DI

Summary Unit test object validation when validator(s) has a dependency. For instance, we have some custom field and cross-field validators. Want to test their combination. Additionally some of validators have dependencies, injected through constructor or setters. You're not using property injection, right? Shortcut If you are just searching for an answer, here's the fast way: Declare CustomConstraintValidatorFactory that implements javax.validation.ConstraintValidatorFactory Override getInstance method and on facing your constraint validator class instantiate it Otherwise delegate validator construction to org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorFactoryImpl Build validator factory and provide it your CustomConstraintValidatorFactory Build validator, using that factory... Go to demo project on GitHub for details:  https://github.com/MrArtemAA/blog-demos/blob/master/test-validator-with-injection/src/test/java/ru/artemaa/d

Lotus Notes FAQ. 8/9 Eclipse. Как настроить уведомления о Sametime сообщениях

Н а написание данной "инструкцию" натолкнул мой коллега. Помню, первый раз сам долго искал, как отключить постоянно выпрыгивающие уведомления о новых сообщениях в Sametime. И так, речь идет о клиентах IBM Notes 8+ версии Standart (Eclipse based). Как настроить уведомления о Sametime сообщениях?