Курс Raku / Додаток 🆕 / Порядок виконання та функції / Порядок виконання та логіка / Вправи / Високосні роки
Розв’язання: Високосні роки
Ось одне з можливих розв’язань задачі.
Код
for 2000, 1900, 2024, 2023 -> $year {
my $leap = $year %% 400 || ($year %% 4 && !($year %% 100));
say "$year: { $leap ?? 'leap' !! 'common' }";
}🦋 Знайдіть програму у файлі leap-year.raku.
Вивід
2000: leap
1900: common
2024: leap
2023: commonКоментарі
Правило читається безпосередньо як булевий вираз: високосним є рік, що ділиться на 400, або рік, що ділиться на 4, але не на 100.
%%є перевіркою подільності.1900ділиться на 100, але не на 400, тож він звичайний;2000ділиться на 400, тож він високосний.Тип
Dateу Raku це правило вже знає. Він подає його як.is-leap-year— метод на об’єкті дати, тож ви створюєте будь-яку дату в цьому році (тут 1 січня) і питаєте її:for 2000, 1900, 2024, 2023 -> $year { my $leap = Date.new($year, 1, 1).is-leap-year; say "$year: { $leap ?? 'leap' !! 'common' }"; }
Проте вправа, звісно ж, про те, щоб написати це правило самотужки.
Навігація курсом
← Високосні роки | Вид трикутника →