Однажды меня спросили, знаю ли номера месяцев (1, 2 ... 12). Я гордо ответил, да. Спрашивающая (известна как СфА) удивилась, потому что у неё было наблюдение, что у умных людей (к которым она меня, по всей видимости, относит) с этим всегда проблемы. А потом я рассказал про свой алгоритм определения числа.
= Текстовое описание *. Январь помню как первый месяц. Первый, значит один. *. Февраль либо вспоминаю как второй, либо добавляю 1 к значению января. *. Март либо вспоминаю как третий, либо убавляю 1 из значения апреля. *. Апрель помню как четвёртый, потому что я хорошо умею записывать свою дату рождения. *. Май получаю добавлением 1 к значению апреля. Возможно, я начинаю запоминать, что он пятый. *. Июнь получаю добавлением 1 к значению мая, которое получаю добавлением 1 к значению апреля. *. Июль получаю добавлением 1 к значению июня, который получаю добавлением 1 к значению мая, который получаю добавлением 1 к значению апреля. *. Август получаю убавлением 1 из значения сентября. *. Сентябрь по-латински значит //седьмой//, то есть семь. Добавляю к этому 2, получаю значение. *. Октябрь по-латински значит //восьмой//, то есть восьмой. Добавляю к этому 2, получаю значение. *. Ноябрь по-латински значит //девятый//, то есть девять. Добавляю к этому 2, получаю значение. *. Декабрь по-латински значит //десятый//, то есть десять. Добавляю к этому 2, получаю значение.
= Формульное описание *. Номер(//Январь//) = 1 *. { Номер(//Февраль//) = Номер(//Январь//) + 1 Номер(//Февраль//) = 2 (если повезёт) } *. { Номер(//Март//) = Номер(//Апрель//) -1 Номер(//Март//) = 3 (если повезёт) } *. Номер(//Апрель//) = 4 *. Номер(//Май//) = Номер(//Апрель//) + 1 *. Номер(//Июнь//) = Номер(//Май//) + 1 *. Номер(//Июль//) = Номер(//Июнь//) + 1 = Номер(//Май//) + 2 *. Номер(//Август//) = Номер(//Сентябрь//) - 1 *. Номер(//Сентябрь//) = Смысл(//Сентябрь//) + 2 *. Номер(//Октябрь//) = Смысл(//Октябрь//) + 2 *. Номер(//Ноябрь//) = Смысл(//Ноябрь//) + 2 *. Номер(//Декабрь//) = Смысл(//Декабрь//) + 2
= Омакэ [[u/handlerug]]: Предлагаю анонимному читателю три дополнительных алгоритма определения номера месяца.
== Доп. алгоритм №0 [[u/handlerug]]: Я использую этот алгоритм.
*. Январь помню как первый месяц. Первый, значит один. *. Февраль помню как второй месяц. Второй, значит два. *. Март помню как третий месяц. Третий, значит три. *. Апрель либо вспоминаю как четвёртый месяц, либо добавляю 1 к значению марта. *. Май помню как пятый месяц. Пятый, значит пять. *. Июнь получаю добавлением 1 к значению мая. *. Июль получаю добавлением 1 к значению июня, который получаю добавлением 1 к значению мая. *. Август получаю убавлением 1 из значения сентября. *. Сентябрь помню как девятый месяц. Девятый, значит девять. *. Октябрь помню как десятый месяц. Десятый, значит десять. *. Ноябрь помню как одиннадцатый месяц, потому что я хорошо умею записывать свою дату рождения. Ещё тривиально убавить 1 из значения декабря. *. Декабрь помню как двенадцатый месяц. Двенадцатый, значит двенадцать.
== Доп. алгоритм №1 Алгоритм для машин, людей-машин и людей с шригма-гриндсетом.
*. Январь помню как первый месяц. Первый, значит один. *. Февраль получаю добавлением 1 к значению января. *. Март получаю добавлением 1 к значению февраля. *. Апрель получаю добавлением 1 к значению марта. *. Май получаю добавлением 1 к значению апреля. *. Июнь получаю добавлением 1 к значению мая. *. Июль получаю добавлением 1 к значению июня. *. Август получаю добавлением 1 к значению июля. *. Сентябрь получаю добавлением 1 к значению августа. *. Октябрь получаю добавлением 1 к значению сентября. *. Ноябрь получаю добавлением 1 к значению октября. *. Декабрь получаю добавлением 1 к значению ноября.
== Доп. алгоритм №2 Алгоритм для рациональных.
*. Закидываю пары месяц-номер как карточки в колоду Анки. *. Штрудирую колоду, пока не запомню.
- public document at doc.anagora.org/алгоритм_определения_номера_месяца
- video call at meet.jit.si/алгоритм_определения_номера_месяца