Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Funkcionālā programmēšana / Rekursija / Exercises / Skaitīšana augšup
Risinājums: Skaitīšana augšup
Šeit ir iespējams risinājums uzdevumam.
Kods
sub countup($n) {
return if $n < 1;
countup($n - 1);
say $n;
}
countup(3);🦋 Atrodiet programmu failā count-up.raku.
Izvade
1
2
3Komentāri
Bāzes gadījums
return if $n < 1joprojām aptur rekursiju, tiklīdz skaits pārkāpj nullei.Tieši abu pēdējo rindu secība liek skaitīt augšup: katrs izsaukums vispirms rekursē līdz pat bāzes gadījumam un tikai tad, izsaukumiem attinoties, izdrukā savu skaitli. Tāpēc
1tiek izdrukāts pirmais un$npēdējais.