Однажды меня спросили, знаю ли номера месяцев (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 Алгоритм для рациональных. *. **Закидываю** пары месяц-номер как карточки в колоду Анки. *. **Штрудирую** колоду, пока не запомню.