Kurso de Raku / Aldono 🆕 / Fluo kaj funkcioj / Regofluo kaj logiko / Exercises / Superjaroj
Solvo: Superjaroj
Jen ebla solvo de la tasko.
Kodo
for 2000, 1900, 2024, 2023 -> $year {
my $leap = $year %% 400 || ($year %% 4 && !($year %% 100));
say "$year: { $leap ?? 'leap' !! 'common' }";
}🦋 Vi povas trovi la fontkodon en la dosiero leap-year.raku.
Eligo
2000: leap
1900: common
2024: leap
2023: commonKomentoj
La regulo legiĝas rekte kiel bulea esprimo: superjaro estas tiu, kiu estas dividebla per 400, aŭ tiu, kiu estas dividebla per 4 sed ne per 100.
%%estas la testo pri divideblo.1900estas dividebla per 100 sed ne per 400, do ĝi estas ordinara;2000estas dividebla per 400, do ĝi estas superjaro.La tipo
Datede Raku jam konas ĉi tiun regulon. Ĝi prezentas ĝin kiel.is-leap-year— metodon sur data objekto, do vi faras ajnan daton en la jaro (ĉi tie la 1-an de januaro) kaj demandas ĝin:for 2000, 1900, 2024, 2023 -> $year { my $leap = Date.new($year, 1, 1).is-leap-year; say "$year: { $leap ?? 'leap' !! 'common' }"; }
La ekzerco, kompreneble, temas pri verki la regulon mem.
Kursa navigado
← Superjaroj | Speco de triangulo →