Как определить високосный год или нет c
Перейти к содержимому

Как определить високосный год или нет c

  • автор:

Високосный год без условий и циклов C++

Как найти високосный год через линейный алгоритм(без условий и циклов)? Возникли трудности, не понимаю алгоритм. Код:

#include using namespace std; int main() < /* 1. Год делится на 400->високосный->конец 2. Год делится на 100->не високосный->конец 3. Год делится на 4->високосный->конец 4. Год не високосный->конец 5. Всё */ int year, result; cout > year; result = year / 100; result = year - result; result = result % 4; cout

Отслеживать

47.5k 17 17 золотых знаков 56 56 серебряных знаков 99 99 бронзовых знаков

Определить високосный год или нет

Определить, является ли год, который ввел пользователем, високосным или невисокосным.

Високосные года делятся нацело на 4. Однако из этого правила есть исключение: столетия, которые не делятся нацело на 400, високосными не являются.

В високосном годе 366 дней, в обычном 365.

  1. Если год не делится на 4, значит он обычный.
  2. Иначе надо проверить не делится ли год на 100.
  3. Если не делится, значит это не столетие и можно сделать вывод, что год високосный.
  4. Если делится на 100, значит это столетие и его следует проверить его делимость на 400.
  5. Если год делится на 400, то он високосный.
  6. Иначе год обычный.

Проверки можно проводить последовательно, а можно группировать через логические операторы «И» и «ИЛИ». Поэтому способов решения задачи может быть несколько.

Pascal

високосный год паскаль

 
// 1-й вариант:

var y: word;
begin
readln(y);
if y mod 4 <> 0 then writeln('Обычный')
else
if y mod 100 = 0 then
if y mod 400 = 0 then writeln('Високосный')
else writeln('Обычный')
else writeln('Високосный');
end.

// 2-й вариант:

var y: word;
begin
readln(y);
if (y mod 4 <> 0) or (y mod 100 = 0) and (y mod 400 <> 0) then
writeln('Обычный')
else
writeln('Високосный');
end.
 

1980
Високосный

1978
Обычный

Язык Си

 
// 1-й вариант:

#include

main() int y;
scanf("%d",&y);
if (y%4 != 0) printf("Обычный");
else
if (y%100 == 0 && y%400 != 0) printf("Обычный");
else printf("Високосный");
printf("\n");
>

// 2-й вариант:

#include

main() int y;
scanf("%d",&y);
if (y%4 != 0 || y%100 == 0 && y%400 != 0) printf("Обычный");
else printf("Високосный");
printf("\n");
>

Python

високосный год python(питон)

 
# 1-й вариант:

y = int(input())
if y % 4 != 0:
print("Обычный")
elif y % 100 == 0:
if y % 400 == 0:
print("Високосный")
else:
print("Обычный")
else:
print("Високосный")

# 2-й вариант:

if y % 4 != 0 or (y % 100 == 0 and y % 400 != 0):
print("Обычный")
else:
print("Високосный")

КуМир

 
| 1-й вариант:

алг високосный год
нач
цел n
ввод n
если mod(n,4) <> 0 то
вывод "Обычный год"
иначе
если mod(n,100) = 0 то
если mod(n,400) = 0 то
вывод "Високосный год"
иначе
вывод "Обычный год"
все
иначе
вывод "Високосный год"
все
все
кон

| 2-й вариант:

алг високосный год
нач
цел n
ввод n
если mod(n,4) <> 0 или mod(n,100) = 0 и mod(n,400) <> 0 то
вывод "Обычный год"
иначе
вывод "Високосный год"
все
кон
 

1100
Обычный год

1992
Високосный год

Basic-256

 
input y
if y%4 = 0 then
if y%100=0 and y%400 <> 0 then
print "365"
else
print "366"
endif
else
print "365"
endif

Определить, високосный год или нет

С клавиатуры вводится год. Программа должна определять високосный это год или нет. Вывести на экран соответствующую надпись, а также количество дней в году.

Примеры выполнения программы

Введите год: 1913 Количество дней в году: 365 Это невисокосный год.
Введите год: 2012 Количество дней в году: 366 Это високосный год.

Программа на языке Паскаль

var year: word; begin write('Введите год: '); readln(year); if year mod 4 = 0 then if (year mod 100 = 0) and (year mod 400 <> 0) then year := 365 else year := 366 else year := 365; writeln('Количество дней в году: ', year); if year = 365 then writeln('Это невисокосный год.') else writeln('Это високосный год.'); end.

В високосном годе 366 дней, тогда как в обычном 365. Високосными годами являются все года делящиеся нацело на 4 за исключением столетий, которые не делятся нацело на 400.

Алгоритм решения задачи:

  • Проверяем делится ли год на 4. Если нет, то год уже невисокосный.
  • Если год делится на 4, то проверяем делится ли он на 100. Если нет, то год однозначно високосный.
  • Если год делится на 100, но при этом не делится на 400, то год невисокосный.

Високосный год

День добрый. подскажите кто знает еще способы определения високосного года.

ВЫБРАТЬ ВЫБОР КОГДА ДЕНЬГОДА(КОНЕЦПЕРИОДА(&ДАТА, ГОД)) = 365 ТОГДА "НЕ ВИСОКОСНЫЙ" ИНАЧЕ "ВИСОКОСНЫЙ" КОНЕЦ, ДЕНЬГОДА(КОНЕЦПЕРИОДА(&ДАТА, ГОД)) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВЫБОР КОГДА ДЕНЬ(ДОБАВИТЬКДАТЕ(&ДАТА, ДЕНЬ, 365)) = ДЕНЬ(&ДАТА) ТОГДА "НЕ ВИСОКОСНЫЙ" ИНАЧЕ "ВИСОКОСНЫЙ" КОНЕЦ, ДОБАВИТЬКДАТЕ(&ДАТА, ДЕНЬ, 365) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВЫБОР КОГДА РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&ДАТА, ГОД), КОНЕЦПЕРИОДА(&ДАТА, ГОД), ДЕНЬ) = 364 ТОГДА "НЕ ВИСОКОСНЫЙ" ИНАЧЕ "ВИСОКОСНЫЙ" КОНЕЦ, РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&ДАТА, ГОД), КОНЕЦПЕРИОДА(&ДАТА, ГОД), ДЕНЬ)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *