Количество дней в году

  • 8
  • Недоступна
На планете Земля год длится 365 или 366 суток. Количество дней высчитывается по определенной формуле: високосным годом (366 суток) является год, который делится без остатка на 4 за исключением годов, которые кратны 100 и не кратны 400. Напишем программу, в которой выясним, високосный или обычный год ввёл пользователь с клавиатуры.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (368)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
LolaBraum5 уровень, Москва
Friday, 20:22
Все можно уместить в одно условие используя исключение ^. Пример: если ( условие 1 ^ условие 2 ^ условие 3) выводим одно иначе выводим все остальное.
Kozzy Rock8 уровень, Санкт-Петербург
29 June, 19:02
Проще всего использовать оператор остатка от деления %, но можно и без него
gypsy potassium5 уровень, Урюпинск
29 June, 15:08
Ух блин, я даже не знал что с високосными годами всё так сложно! У меня сначала даже пригорело, когда я просто делил на 4 и задача не прошла. Пошёл гуглить и узнал много нового!
Алексей6 уровень, Санкт-Петербург
28 June, 14:02
Простейшая задача, непонятно, почему она маркирована как HARD
Николай15 уровень, Москва
27 June, 14:13
Друзья, очень долго откладывал эту задачу, пугало ее непонятное задание, а сегодня сел и решил ее с первой попытки))) В решении использовал циклы if / else, всего 4 раза. 1. создал инт переменную, куда записываю введеный с клавиатуры год. 2. Первый цикл: если введеный год делится на 400 без остатка ( %400 == 0 ), вывести на экран: " количество дней в году: " + 366 3. Второй цикл: иначе если введеный год делится на 100 без остатка ( %100 == 0 ), вывести на экран: " количество дней в году: " + 365 4. Третий цикл: иначе если введеный год делится на 4 без остатка ( %4 == 0 ), вывести на экран: " количество дней в году: " + 366 5. Четвертый цикл: иначе вывести на экран: " количество дней в году: " + 365 Все)
Мариам10 уровень
25 June, 01:04
прочитала комент от Romici и решила
7Angel4 уровень, Харьков
4 June, 15:51
if (year % 400 == 0 || !(year % 100 == 0) && year % 4 == 0)
Клим5 уровень, Хайфа
18 June, 06:45
ты можешь это на пальцах объяснить??????????????
7Angel4 уровень, Харьков
19 June, 19:47
ну я просто писал согласно условию) 1) если год делится без остатка на 400 это високосный год; 2) в оставшихся годах после этого, если год делится без остатка на 100, то это обычный год; 3) в оставшихся годах после этого, если год делится без остатка на 4, то это високосный год;
Anton Povarnitsin6 уровень
27 May, 08:38
Отличная задача! Спасибо! Таких побольше! Рекомендую для записи условий, которые нужно вложить в главное условие: https://metanit.com/java/tutorial/2.14.php https://metanit.com/java/tutorial/2.5.php
Serggbobrov16 уровень, Гродно
24 May, 12:46
То офигетельное чувство, когда в кои то веки сам решил и лезешь в обсуждение, что объяснить другим) Читайте внимательно условия и последовательно их записывайте: 1) если год делится без остатка на 400 это високосный год; if (year%400==0){ sout); } 2) в оставшихся годах после этого, если год делится без остатка на 100, то это обычный год; else { if(year%100==0){ sout); } 3) в оставшихся годах после этого, если год делится без остатка на 4, то это високосный год; else if (year%4==0) { sout} 4) все оставшиеся года невисокосные. else просто внимательное читайте подсказки и переводите русский язык на язык условных операторов! успехов!
Дима Сидельников7 уровень, Варшава
18 May, 09:07
Сначала показалось, что задача с подвохом, но как оказалось - нет. 1. Сначала ввел переменную X разделив чтобы проверить на остаток введенный год (напр.Х=2020%4). 2. Дальше в первом if вводите года исключения, которые как бы должны быть високосными, но таковыми не являются (1700, 1800 и т.д. по условию). 3. В следующих если(X>0) год не високосный 4. Если (X=0) високосный.