Формула за вечен календар

Формулата за вечен календар ви позволява да изчислявате деня от седмицата, по броя на месеца и годината, дори и в главата си, без да използвате специални програми. Формулата на вечния календар отчита деня от седмицата в григорианския и юлианския календар. Входните параметри за календара са

Първо, нека представим две функции

[x] - максимално цяло число, не повече от x. Например, [1,23] = 1, [2] = 2, [-2,3] = - 3.

x% y е остатъкът от x, когато е разделен на y, където x и y са цели числа (y> 0). Например, 9% 7 = (2 + 7 * 1)% 7 = 2
(-9)% 7 = (5 + 7 * (- 2))% 7 = 5

Формулата за деня за седмицата е следната

Денят от седмицата W ще бъде число от 0 до 6. 0 - неделя, 1 - понеделник, ... 6 събота.

Практическо използване на формулата за умствено изчисление.

  1. Формулата за деня от седмицата според григорианския календар може да бъде написана в по-дълга форма.
    W = (d + 2m + [(3m-1)/5] + y + [y/4] + [c/4] -2c)% 7. Въпреки факта, че е станало по-тромаво, е много по-лесно да се правят умствени изчисления.
  2. Вместо да изчислявате 2m + [(3m-1)/5], можете просто да си спомните справочната таблица

С малко тренировка е напълно възможно да преброите всеки ден от седмицата в минута, което може да бъде демонстрирано като фокус.

По-долу е текстът на програма в Java, която проверява формулите за изчисляване на деня от седмицата. Деление на цяло число към цяло число в java x/y е същото като "[x/y]" само ако x≥0 и y> 0. Например в java -7/4 = -1 и [-7/4] = - 2. Тъй като в крайна сметка изразът се приема по модул 7, добавянето на произволно кратно на седем не променя резултата. Следователно изразът [-7c/4] = [c/4] -2c е заменен с c/4-2c + 7c = 5c + c/4 = 21c/4. По същите причини изразът 5-s за юлианския календар се заменя с 5 + 6s.

внос java. util. Календар;
внос java. util. Грегориански календар;
внос java. util. Случайни;