Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
22
Task/Recamans-sequence/Perl/recamans-sequence.pl
Normal file
22
Task/Recamans-sequence/Perl/recamans-sequence.pl
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
use bignum;
|
||||
|
||||
$max = 1000;
|
||||
$remaining += $_ for 1..$max;
|
||||
|
||||
my @recamans = 0;
|
||||
my $previous = 0;
|
||||
|
||||
while ($remaining > 0) {
|
||||
$term++;
|
||||
my $this = $previous - $term;
|
||||
$this = $previous + $term unless $this > 0 and !$seen{$this};
|
||||
push @recamans, $this;
|
||||
$dup = $term if !$dup and defined $seen{$this};
|
||||
$remaining -= $this if $this <= $max and ! defined $seen{$this};
|
||||
$seen{$this}++;
|
||||
$previous = $this;
|
||||
}
|
||||
|
||||
print "First fifteen terms of Recaman's sequence: " . join(' ', @recamans[0..14]) . "\n";
|
||||
print "First duplicate at term: a[$dup]\n";
|
||||
print "Range 0..1000 covered by terms up to a[$term]\n";
|
||||
Loading…
Add table
Add a link
Reference in a new issue