URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 752
[ Назад ]

Исходное сообщение
"Формула вычисления високосного года из очень авторитетной книжки. Ошибка или где?"

Отправлено quatro , 20-Май-02 12:53 
Приветствую All!
Начал читать, думаю многим известную книгу " Б.В.Кернигана и Д.М. Ричи "Язык С" и отковырял в ней вот такую формулу:
-------------cut-----------------
.....год является високос-
ным, если он делится на 4, но не делится на 100, исключая то, что делящиеся на 400 годы тоже являются високосными. Поэтому

IF(YEAR % 4 == 0 && YEAR % 100 != 0 || YEAR % 400 == 0)
    год високосный
ELSE
    год невисокосный
.......
------------end cut----------------

Я может чего-то в этой жизни не понимаю, но помоему для определения високосного года достаточно одного условия - кратности четырем ...или я неправ?

ссылки на оригинальный текст:
http://ergosystems.narod.ru/kerrichc.html
http://lit.sup.rinet.ru/cpp/kernigan/2.html
http://freedoc.vov.ru/doc/progr/cpp/6/c_2.htm


Содержание

Сообщения в этом обсуждении
"RE: Формула вычисления високосного года из очень авторитетной книжки. Ошибка или где?"
Отправлено Sobol , 20-Май-02 14:04 
>Я может чего-то в этой жизни
>не понимаю, но помоему для
>определения високосного года достаточно одного
>условия - кратности четырем ...или
>я неправ?

Всё верно в формуле. Дело в том, что (если не ошибаюсь) в 17 году был принят новый календарь (Григорианский). По подсчётам вышло, что Високосные года не достаточно точно компенсируют излишнее время, накапливаемое за каждый год. В результате за 400 лет накапливается 3-е суток, поэтому каждый 400-й год високосный, а все прочие (каждый сотый) - нет. Пардон, если чё напутал в истории, но формула - верна.


"RE: Формула вычисления високосного года из очень авторитетной книжки. Ошибка или где?"
Отправлено pth , 23-Май-02 01:10 

>Я может чего-то в этой жизни
>не понимаю,

Разницы между Юлианским и Григорианским календарями