понедельник, 20 июля 2009 г.

Легкий способ узнать день недели.



Не имея под рукой календарь, я могу сказать на какой день недели выпадает конкретное число.
Способ очень легкий:
Каждому месяцу соответствует свой ключ от нуля до шести. Например июлю соответсвует ключ "2".
Допустим мы хотим узнать какой день недели будет 25 июля.
Мы просто складываем число месяца и ключ данного месяца, а потом вычитаем все семерки пока можно (для инженеров это просто % 7 :)
25 + 4 = 29
27 - 7 - 7 - 7 = 29 % 7 = 1

0 - воскресение
1 - это понедельник.
2 - вторник
..
6 - суббота


Осталось лишь выучить ключи к месяцам.

январь - 3
февраль - 6
март - 6
апрель - 2
май - 4
июнь - 0
июль - 4
август - 5
сентябрь - 1
октябрь - 3
ноябрь - 6
декабрь - 1

А почему так работает?
Разгадка кстати очень простая.

P.S.: По личному опыту очень удобно вычислять день недели на текущий и следующий месяцы.

6 комментариев:

  1. Почему при расчете ты берешь ключ к июлю как 2 а в таблице стоит 4. Потом ты говоришь ключи от 1-6 а в таблице у июня-0.

    ОтветитьУдалить
  2. Все-все, Кайрат))
    учел, спасибо :)

    ОтветитьУдалить
  3. каждый год новые ключи появляются?

    ОтветитьУдалить
  4. ключ - это количество дней, которых не хватает для полной недели (в первой строке календаря).
    остальное понятно)))

    ОтветитьУдалить