From d59694947b4f327ef3ea7258385481145bb1b150 Mon Sep 17 00:00:00 2001 From: Simon Proctor Date: Mon, 24 Jun 2019 12:26:39 +0100 Subject: Challenge 1. Van Eck's Sequnce --- challenge-014/simon-proctor/perl6/ch-1.p6 | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 challenge-014/simon-proctor/perl6/ch-1.p6 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(","); + +} -- cgit