diff options
| -rw-r--r-- | challenge-041/noud/perl6/ch-2.p6 | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/challenge-041/noud/perl6/ch-2.p6 b/challenge-041/noud/perl6/ch-2.p6 index acbd775229..d450aa2817 100644 --- a/challenge-041/noud/perl6/ch-2.p6 +++ b/challenge-041/noud/perl6/ch-2.p6 @@ -12,13 +12,17 @@ # Define a lazy fibonacci sequence. constant @fib = 0, 1, * + * ... *; -# Leonard numbers are related to Fibonacci numbers as -# leonard(n) = 2 * fib(n) + 1 -sub leonard(Int $n) { - 2 * @fib[$n] + 1; +# Leonardo numbers are related to Fibonacci numbers as +# leonardo(n + 1) = 2 * fib(n) + 1 +sub leonardo(Int $n) { + if ($n == 0) { + 1; + } else { + 2 * @fib[$n - 1] + 1; + } } -say "Leonard numbers 0 to 20:"; -for 0..20 -> $n { - leonard($n).say; +say "First 20 Leonardo numbers:"; +for ^20 -> $n { + leonardo($n).say; } |
