Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
26
Task/Executable-library/Perl/executable-library-1.pl
Normal file
26
Task/Executable-library/Perl/executable-library-1.pl
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
package Hailstone;
|
||||
|
||||
sub seq {
|
||||
my $x = shift;
|
||||
$x == 1 ? (1) : ($x & 1)? ($x, seq($x * 3 + 1))
|
||||
: ($x, seq($x / 2))
|
||||
}
|
||||
|
||||
my %cache = (1 => 1);
|
||||
sub len {
|
||||
my $x = shift;
|
||||
$cache{$x} //= 1 + (
|
||||
$x & 1 ? len($x * 3 + 1)
|
||||
: len($x / 2))
|
||||
}
|
||||
|
||||
unless (caller) {
|
||||
for (1 .. 100_000) {
|
||||
my $l = len($_);
|
||||
($m, $len) = ($_, $l) if $l > $len;
|
||||
}
|
||||
print "seq of 27 - $cache{27} elements: @{[seq(27)]}\n";
|
||||
print "Longest sequence is for $m: $len\n";
|
||||
}
|
||||
|
||||
1;
|
||||
11
Task/Executable-library/Perl/executable-library-2.pl
Normal file
11
Task/Executable-library/Perl/executable-library-2.pl
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
use Hailstone;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
my %seqs;
|
||||
for (1 .. 100_000) {
|
||||
$seqs{Hailstone::len($_)}++;
|
||||
}
|
||||
|
||||
my ($most_frequent) = sort {$seqs{$b} <=> $seqs{$a}} keys %seqs;
|
||||
print "Most frequent length: $most_frequent ($seqs{$most_frequent} occurrences)\n";
|
||||
Loading…
Add table
Add a link
Reference in a new issue