Определить, является ли год, который ввел пользователем, високосным или невисокосным.
Високосные года делятся нацело на 4. Однако из этого правила есть исключение: столетия, которые не делятся нацело на 400, високосными не являются.
В високосном годе 366 дней, в обычном 365.
Если год не делится на 4, значит он обычный.
Иначе надо проверить не делится ли год на 100.
Если не делится, значит это не столетие и можно сделать вывод, что год високосный.
Если делится на 100, значит это столетие и его следует проверить его делимость на 400.
Если год делится на 400, то он високосный.
Иначе год обычный.
Проверки можно проводить последовательно, а можно группировать через логические операторы «И» и «ИЛИ». Поэтому способов решения задачи может быть несколько.
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");
}
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
Подписаться
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
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"); }
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