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

Детская математика. Волшебные преобразования

Недавно на просторах соц. сетей увидел вот такую забавную картинку:
Понятно, что никакой магии тут нет, поэтому давайте разберемся.

Возраст не имеет значения
Ну действительно, можем взять любой возраст (любое двузначное число) и получим после указанных преобразований предполагаемый результат. Это значит, что нужно обратить внимание на сами манипуляции. Они простые - умножить исходной число сначала на одно, затем на другое. Как известно, a * b * c = a * (b * c), вычислим b * c и посмотрим на него: 7 * 1443 = 10101.

Тут можно было бы и закончить, но доведем до конца, чтобы стало совсем очевидно.

Столбики
Умножим, скажем 39 на 10101, но не при помощи калькулятора, а столбиком, который даст на визуальное понимание происходящего:
   10101
х     39
--------
   90909
+ 303030
--------
  393939

При умножении первой цифры (9) на 1 - получаем себя же, а при умножении на 0 - 0. Умножая 2ую цифру получаем аналогичный результат, НО по правилам мы сдвигаем получившийся результат влево на 1 разряд, т.к. умножаем не на единицы, а на десятки (т.е. на самом деле умножаем не на 3, а на 30). Так что за счет самого числа (10101) при умножении на двузначное (xy) получим: y0y0y + x0x0x0 = xyxyxy.

И еще...
- Если взять число, меньшее 10, получится уже не такой красивый результат - с 0-ми.
- Не получите вы желаемого, и если ваш возраст больше 99. Для этого нужно уже брать число 1001001.

Комментарии

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

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

И снова про тараканов, которые иногда возникают в голове. Как-то раз, засыпая, я задумался на курьезными задачками из своей сферы деятельности (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 сообщениях?