Raku kurss / Funkcionālā, paralēlā, reaktīvā un tīmekļa programmēšana / Funkcionālā programmēšana / Rekursija / Exercises / Pakāpe

Risinājums: Pakāpe

Šeit ir iespējams risinājums uzdevumam.

Kods

sub power($base, $exp) {
    $exp == 0 ?? 1 !! $base * power($base, $exp - 1);
}

say power(2, 10);

🦋 Atrodiet programmu failā power.raku.

Izvade

1024

Komentāri

  1. Bāzes gadījums atgriež 1, kad kāpinātājs sasniedz 0, jo jebkura bāze nulltajā pakāpē ir viens.

  2. Rekursīvais solis reizina $base ar power($base, $exp - 1), katru reizi nolobot vienu reizinātāju. Tāpēc power(2, 10) sareizina desmit 2, dodot 1024.

Kursa navigācija

Pakāpe   |   Ciparu summa