|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alex E. Shestopalov 2:5020/400 28 Apr 2002 01:01:44 To : Dmitry V. Liseev Subject : Re: "Вечный календарь" -------------------------------------------------------------------------------- hi > А в чем проблема? Вычисляешь разницу в днях между текущей датой > и некоторым "базисом". Hапример 1 января 1600 года. Прибавляешь > требуемое количество дней и конвертируешь обратно в год, месяц > и день. Остаток от деления на 365, 31 и т.д. умеешь считать? Hу вообще-то не всегда год имеет 365, а месяц 31 день. > Количество дней в каждом месяце года хранишь в массиве. > В году 365 дней. В високосном - 366. Hу батенька это вы дали! В высокосном - 365(!) дней, а в обычном - 364. > Дальше правило такое: если > год кратен 4 - он високосный, но если он кратен 100 - он уже > не високосный (1900, 2100, 2200), а вот если кратен 400 - он опять > високосный (2000, 2400, 2800). Возможно, есть и более точный > вариант этого правила, если тебе на несколько тысяч лет > вперед нужно, но это нужно узнавать у астрономов или еще > у кого. Все занимает несколько строк на любом языке > программирования. вот как раз и нужно на несколько тысяч лет вперед! > Или я чего-то не понял? Или кто-то > непонятно поставил вопрос? Скорее первое :)) ЗЫ: Один добрый человек вместо такой обширной критики прислал мне вполне элегантный и рабочий ответ. --- ifmail v.2.15dev5 * Origin: NTUU "KPI" (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/1293389be68f1.html, оценка из 5, голосов 10
|