Hofstadter Figure-Figure sequences: Difference between revisions

Content added Content deleted
(→‎{{header|Perl 6}}: Mark as broken)
(→‎{{header|Perl 6}}: Roll back to an older, but working version, lightly updated)
Line 1,577: Line 1,577:


=={{header|Perl 6}}==
=={{header|Perl 6}}==
<lang perl6>my %r = 1 => 1;
{{broken|Perl 6}}
my %s = 1 => 2;
<lang perl6>my @ffr;
my @ffs;


sub ffr ($n) {
@ffr.plan: 0, 1, gather take @ffr[$_] + @ffs[$_] for 1..*;
return %r{$n} if %r{$n}:exists;
@ffs.plan: 0, 2, 4..6, gather take @ffr[$_] ^..^ @ffr[$_+1] for 3..*;
%r{$n} = ffr($n - 1) + ffs($n - 1);
return %r{$n};
}


sub ffs ($n) {
say @ffr[1..10];
return %s{$n} if %s{$n}:exists;
%s{$n} = (grep none( map &ffr, 1..$n), max(%s.values)+1..*)[0];
return %s{$n};
}


my @ffr = map &ffr, 1..*;
say "Rawks!" if (1...1000) eqv sort @ffr[1..40], @ffs[1..960];</lang>

my @ffs = map &ffs, 1..*;

say @ffr[^10];

say "Rawks!" if 1...1000 eqv sort |@ffr[^40], |@ffs[^960];</lang>
Output:
Output:
<pre>
<pre>