Я выполняю задачу (из учебника), которая должна вычислять количество прошедших дней между двумя датами. Я не могу понять, как вычисляются дни в конце формулы. В примере из учебника есть 202 дней между 8 августа 2004 года и 22 февраля 2005 года, основанные на формуле:Формула для вычисления количества прошедших дней
N=1461 * f(year,month)/4 + 153 * g(month)/5 + day,
where f(year, month) = year -1 if month <=2
year otherwise
and g(month) = month + 13 if month <= 2
month + 1 otherwise
Но никаких указаний о том, как вычислить последнюю переменную «день». В приведенном выше примере последняя переменная «день» равна 3 для N1 и 21 для N2.
Откуда берутся эти цифры?
N1 = (1461 * 2004)/4 + (153 * 9)/5 + 3,
N2 = (1461 * 2004)/4 + (153 * 15)/5 + 21.
Кроме того, как была получена эта формула?
ПОДОЗРИТЕЛЬНЫЕ вас у вас есть ошибка транскрипции из вашей книги. – chux
* «никаких указаний о том, как вычислить последнюю переменную« день »* - обязательно день, как в день, месяц, год. –
1461 - это количество дней в 4 года, но ложно предполагает, что каждый 4-й год является високосным годом. –