Возникла сл. проблемма... Пишу исходник астрономического календаря.
От обычного календаря он отличается лишь тем, что в нем присутствует нулевой год.
Новая эра, как обычно, начинается с 1 января 1 года.
Существует взаимно однозначное соответствие между датой и целочисленным значением:
Получить N из Y, M, D довольно легко...
Однако затруднительно написать компактный алгоритм преобразования целочисленного
значения в соответствующую дату. Может кто-нибудь поможет?
Нужно получить Y, M, D обратно из N.
-------------------------
Напомню: Существуют обычные и высокосные года. В высокосных годах в феврале 29 дней,
а в обычных 28. Год считается высокосным если его значение кратно 4, тем не менее
года кратные 100 не считаются высокосными, а года кратные 400 считаются.
Например:
-8, -4, 0, 4, 8, 400, 800, 2000 — высокосные года
-3, -2, -1, 1, 2, 3, 100, 200 — не высокосные года