diff options
| -rw-r--r-- | challenge-014/simon-proctor/perl6/ch-1.p6 | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/challenge-014/simon-proctor/perl6/ch-1.p6 b/challenge-014/simon-proctor/perl6/ch-1.p6 new file mode 100644 index 0000000000..7c1f9d2dd7 --- /dev/null +++ b/challenge-014/simon-proctor/perl6/ch-1.p6 @@ -0,0 +1,33 @@ +#!/usr/bin/env perl6 + +use v6; + +#| Generate Van Eck's sequence +sub MAIN ( + UInt $count, #= Amount of sequence to generate + UInt $start = 0 # Value to start sequnce from +) { + + my @van-ecks = lazy gather { + take $start; + my $n = 0; + loop { + if any( @van-ecks[^$n] ) == @van-ecks[$n] { + my $m; + for @van-ecks[^$n].kv.reverse -> $v, $k { + if $v == @van-ecks[$n] { + $m = $k; + last; + } + } + take $n - $m; + } else { + take 0; + } + $n++; + } + } + + say @van-ecks[0..^$count].join(","); + +} |
