|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Dmitry V. Liseev 2:5020/400 27 Apr 2002 19:18:15 To : Alex E. Shestopalov Subject : Re: "Вечный календарь" -------------------------------------------------------------------------------- Alex E. Shestopalov <linker@viii.ntu-kpi.kiev.ua> wrote in message news:aa9qbj$2a4a$1@igloo.uran.net.ua... Hi! > Ищется алгоритм "вечный календарь". Т.е. зная текущую дату нужно > определить > дату через N дней (причем N может быть довольно большим). А в чем проблема? Вычисляешь разницу в днях между текущей датой и некоторым "базисом". Hапример 1 января 1600 года. Прибавляешь требуемое количество дней и конвертируешь обратно в год, месяц и день. Остаток от деления на 365, 31 и т.д. умеешь считать? Количество дней в каждом месяце года хранишь в массиве. В году 365 дней. В високосном - 366. Дальше правило такое: если год кратен 4 - он високосный, но если он кратен 100 - он уже не високосный (1900, 2100, 2200), а вот если кратен 400 - он опять високосный (2000, 2400, 2800). Возможно, есть и более точный вариант этого правила, если тебе на несколько тысяч лет вперед нужно, но это нужно узнавать у астрономов или еще у кого. Все занимает несколько строк на любом языке программирования. Или я чего-то не понял? Или кто-то непонятно поставил вопрос? ____________________________ С уважением, Лисеев Дмитрий. http://private.peterlink.ru/dimik/ PGP key fingerprint: 09 28 74 28 6C 39 62 29 2E CB 95 03 4F 04 33 73 --- ifmail v.2.15dev5 * Origin: Peterlink News System (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/20753da5dc67d.html, оценка из 5, голосов 10
|