Cursus Raku / Addendum 🆕 / Werken met gegevens / Getallen en wiskunde / Exercises / Digitale wortel

Oplossing: Digitale wortel

Hier is een mogelijke oplossing voor de taak.

Code

my $n = 987654;

while $n >= 10 {
    $n = [+] $n.comb;
}

say $n;

🦋 Je kunt de broncode vinden in het bestand digital-root.raku.

Uitvoer

3

Opmerkingen

  1. $n.comb splitst het getal in zijn afzonderlijke cijfertekens; [+] telt ze op en maakt van de strings automatisch getallen.

  2. De lus herhaalt zolang het resultaat nog meer dan één cijfer heeft, dus stopt hij zodra $n onder 10 zakt.

Cursusnavigatie

Digitale wortel   |   Collatz-stappen