Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
class_Human
@class_Human
Программирование
Как прийти к такому решению?
Задача: найти количество високосных лет между двумя датами, не используя циклы.
Я методом "тыка" решил по такой формуле. По крайней мере выходные значения совпали:
years = ((last_year / 4) % 100 + (last_year / 400)) - ((start_year / 4) % 100 + (start_year / 400));
Потом ещё подглядел вот такое решение, видимо оно правильнее:
((last_year / 4) - (last_year / 100) + (last_year / 400)) - ((start_year / 4) - (start_year / 100) + (start_year / 400));
Вот не могу понять как прийти к такому решению логически, где взаимосвязь? Зачем сначала делить на 4 потом делить на 100 потом на 400 прибавлять вычитать?
Если не лень, объясните пожалуйста.
Вопрос задан
более трёх лет назад
553 просмотра
Комментировать
Подписаться
1
Простой
Комментировать
Facebook
Вконтакте
Twitter
Решения вопроса
0
Пригласить эксперта
Ответы на вопрос
1
Alexander Pushkarev
@AXP-dev
Прочитайте -
https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B8%D...
Ответ написан
более трёх лет назад
Комментировать
Нравится
2
Комментировать
Facebook
Вконтакте
Twitter
Ваш ответ на вопрос
Войдите, чтобы написать ответ
Войти через центр авторизации
Похожие вопросы
Программирование
+1 ещё
Средний
Редактирование прошивки китайской камеры видеонаблюдения?
1 подписчик
01 июл.
195 просмотров
1
ответ
Программирование
+1 ещё
Простой
Как работает регистрация и аутентификация с помощью ЭЦП?
1 подписчик
26 июн.
192 просмотра
3
ответа
Программирование
+3 ещё
Средний
Какой лучше выбрать мини пк под сервер?
1 подписчик
19 июн.
3589 просмотров
15
ответов
Программирование
+1 ещё
Простой
Нужна ли магистратура программисту какие есть ограничения в ее отсутвии?
1 подписчик
14 июн.
4156 просмотров
5
ответов
Программирование
Простой
Если выражение вычисляется в значение, как описать значение типа массив?
1 подписчик
13 июн.
149 просмотров
1
ответ
Программирование
+1 ещё
Простой
Что такое связывание, объявление, инициализация и определение?
1 подписчик
13 июн.
225 просмотров
1
ответ
Программирование
Простой
Какой язык выбрть для олимпиад по информатике и вообще стоит туда идти в 15 лет?
2 подписчика
11 июн.
1641 просмотр
2
ответа
C#
+2 ещё
Простой
Как называется паттерн, который добавляет объекту новый функционал?
2 подписчика
05 июн.
2775 просмотров
8
ответов
Linux
+2 ещё
Простой
Как сделать новое чтение из STDIN?
1 подписчик
25 мая
207 просмотров
1
ответ
Linux
+2 ещё
Простой
GAS ассемблер: записать в секцию опкоды, затем выполнить их?
2 подписчика
25 мая
186 просмотров
1
ответ
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
Программист микроконтроллеров C++
Uniscan Research
•
Новосибирск
от 130 000 до 180 000 ₽
Программист C/C++ для Embedded-систем (Middle)
Алабуга
•
Москва
До 370 000 ₽
Golang Developer
ITK academy
•
Нижний Новгород
от 75 000 до 120 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама