blob: 55f8cd06ba6f28498ada474c6f5624dcc0e47531 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# Write a script to display first 20 Leonardo Numbers. Please checkout wiki
# page for more information.
#
# For example:
# L(0) = 1
# L(1) = 1
# L(2) = L(0) + L(1) + 1 = 3
# L(3) = L(1) + L(2) + 1 = 5
#
# and so on.
# Define a lazy fibonacci sequence.
constant @fib = 0, 1, * + * ... *;
# Leonardo numbers are related to Fibonacci numbers as
# leonardo(n) = 2 * fib(n + 1) - 1
sub leonardo(Int $n) {
2 * @fib[$n + 1] - 1;
}
say "First 20 Leonardo numbers:";
for ^20 -> $n {
leonardo($n).say;
}
|