Добрый день. Можно ли определить количество високосных лет в отрезке(100 лет) начиная со стартового года? Год старта 1970. Год является високосным в двух случаях: либо он кратен 4, но при этом не кратен 100, либо кратен 400.
Идти по каждому из 100 лет и проверять високосный ли он
1970
1971
1972
1973
1974
..
1988
..
нельзя. задан 10 Апр '13 22:15 manking |
Если никакой год из ста не попадает под исключение, то ответом будет $%25$% (каждый четвёртый из ста). Осталось посмотреть на год, кратный $%100$%. Если он не високосный, то ответом будет $%24$%. В данном случае это $%2000$% год, и он кратен $%400$%, то есть исключение не имеет места. отвечен 10 Апр '13 23:28 falcao Спасибо. Это работает. А действует ли это правило для тысячелетия? В нем может быть 365242 или 365243 дня. Правильно ли я понимаю, что для тысячелетия нужно проверять кратность 1000, а не 100?
(11 Апр '13 13:50)
manking
Нет, надо проверять кратность 100, так как так составлен григорианский календарь.
(11 Апр '13 17:21)
DocentI
За тысячелетие будет 250 високосных лет. Их прибавляем, вычитая те, которые делятся на 100, а их всего 10. Это даёт 240 лишних лет, то есть дней в тысячелетии за счёт 29 февраля. Наконец, надо сюда приплюсовать столько дней, сколько будет в этом тысячелетии лет, кратных 400. Это число равно 2 или 3, и оно легко определяется. Скажем, от 1570 до 2569 года включительно, у нас будут такие даты как 1600, 2000 и 2400. А если отсчитывать от 1701 года (до 2700), то их будет два, а не три (2000 и 2400). Ответ зависит от того, недавно или давно был год, кратный 400 (давно для 1570, недавно для 1701).
(11 Апр '13 19:52)
falcao
Кстати, ответ может быть разным для разных стран. В России, например, григорианский календарь ввели только в 1918 году. Даа, собственно, и юлианский - только в 1700. В Европе календарь был введен в 1582 г., так что для 1570 г. метод подходит.
(11 Апр '13 20:01)
DocentI
1
@DocentI: да, конечно. Но я эту задачу воспринимал как "абстрактную", то есть согласно сформулированному условию. В противном случае тут надо очень много частных обстоятельств учитывать. Скажем, отсутствие каких-то дней года в 1918 году. "Никоторого числа, день был без числа" (с) :)
(12 Апр '13 2:17)
falcao
|