Задача про черепашку

Черепашка ползет по декартовой плоскости, ее путь задан массивом цыфр [1,3,5,2,6,2…], после каждого отрезка черепашка поворачивает на 90 градусов по часовой стрелке. Нужно найти, когда черепащка пересечет собственный путь и вернуть номер шага.

(далее…)

Куб Маврикия

Название изначально задумывалось как «Кубик Маврика», на подобие с Кубиком Рубика, но Google перевел его как «cube mauritius», что означает «Куб Маврикия», так и оставил.

После записи о вращении квадрата я немного полистал учебники по геометрии, и даже «основы учебного академического рисунка», и поднабрался знаний по поводу того что и как должно быть. И вот пришло время поделится этим с вами.

(далее…)

Дата Пасхи

Попалась мне как-то на глаза цитата с баша (из бездны)

«Пасха рассчитывается по формуле Гаусса: a = [(19 * [Y / 19] + 15) / 30], где Y — год, [] — остаток от деления; b = [(2 * [Y / 4] + 4 * [Y / 7] + 6 * a + 6) / 7]; Если (a + b) > 10, то Пасха будет (a + b — 9) апреля ст. стиля, в противном случае — (22 + a + b) марта ст. стиля. Дата Пасхи может попадать в период от 22 марта до 25 апреля по ст. стилю (от 4 апреля до 8 мая по н. стилю).» Гаусс не только великий ученый но и священный математик =)
(далее…)

Счастливый билетик

Вчера речь зашла о ‘счастливых талончиках’, если кто на общественном транспорте не ездит то это такие талончики у которых серийный номер состоит из 6 цифр и сумма первых трёх равна сумме последних трёх. Так вот стало очень интересно какая вероятность того что тебе попадется ‘счастливый талончик’, для этого я решил написать функцию на PHP, но Apache под руками не оказалось и я написал на JavaScript. Сначала я думал что оптимальный алгоритм это разделение строки на две части, сложение цифр первой и второй половины, и сравнение.

(далее…)

HashMap Comparator

Небольшое напоминание себе, чтоб не забыть, а то вот уже третий раз не могу найти этот код в проекте (потому что он большой и хреново структурированный), поэтому пишу его четвертый раз и выкладываю тут чтоб не забыть. Это пример как отсортировать HashMap по значениям, а еще это пример использования double braces initialization, хоть это никому, по большому счету, и не надо.

(далее…)