aboutsummaryrefslogtreecommitdiff
path: root/challenge-041/noud
diff options
context:
space:
mode:
authorNoud Aldenhoven <noud.aldenhoven@gmail.com>2020-01-04 11:38:31 +0100
committerNoud Aldenhoven <noud.aldenhoven@gmail.com>2020-01-04 11:38:31 +0100
commit4cea68f1362fba7f328788061e84708aa29ad573 (patch)
tree325072a182ed3afe5b75af68ab5ac65506bb9281 /challenge-041/noud
parent3469b83f7fa98f887c79973e498d3138da73e11e (diff)
downloadperlweeklychallenge-club-4cea68f1362fba7f328788061e84708aa29ad573.tar.gz
perlweeklychallenge-club-4cea68f1362fba7f328788061e84708aa29ad573.tar.bz2
perlweeklychallenge-club-4cea68f1362fba7f328788061e84708aa29ad573.zip
Fix first Leonardo number, i.e. L(0) = L(1) = 1
Diffstat (limited to 'challenge-041/noud')
-rw-r--r--challenge-041/noud/perl6/ch-2.p618
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;
}