Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
23
Task/Multi-base-primes/Raku/multi-base-primes-1.raku
Normal file
23
Task/Multi-base-primes/Raku/multi-base-primes-1.raku
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
use Math::Primesieve;
|
||||
my $sieve = Math::Primesieve.new;
|
||||
|
||||
my %prime-base;
|
||||
|
||||
my $chars = 4; # for demonstration purposes. Change to 5 for the whole shmegegge.
|
||||
|
||||
my $threshold = ('1' ~ 'Z' x $chars).parse-base(36);
|
||||
|
||||
my @primes = $sieve.primes($threshold);
|
||||
|
||||
%prime-base.push: $_ for (2..36).map: -> $base {
|
||||
$threshold = (($base - 1).base($base) x $chars).parse-base($base);
|
||||
@primes[^(@primes.first: * > $threshold, :k)].race.map: { .base($base) => $base }
|
||||
}
|
||||
|
||||
%prime-base.=grep: +*.value.elems > 10;
|
||||
|
||||
for 1 .. $chars -> $m {
|
||||
say "$m character strings that are prime in maximum bases: " ~ (my $e = ((%prime-base.grep( *.key.chars == $m )).max: +*.value.elems).value.elems);
|
||||
.say for %prime-base.grep( +*.value.elems == $e ).grep(*.key.chars == $m).sort: *.key;
|
||||
say '';
|
||||
}
|
||||
24
Task/Multi-base-primes/Raku/multi-base-primes-2.raku
Normal file
24
Task/Multi-base-primes/Raku/multi-base-primes-2.raku
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
use Math::Primesieve;
|
||||
use Base::Any;
|
||||
|
||||
my $chars = 4;
|
||||
my $check-base = 62;
|
||||
my $threshold = $check-base ** $chars + 20;
|
||||
|
||||
my $sieve = Math::Primesieve.new;
|
||||
my @primes = $sieve.primes($threshold);
|
||||
|
||||
my %prime-base;
|
||||
|
||||
%prime-base.push: $_ for (2..$check-base).map: -> $base {
|
||||
$threshold = (($base - 1).&to-base($base) x $chars).&from-base($base);
|
||||
@primes[^(@primes.first: * > $threshold, :k)].race.map: { .&to-base($base) => $base }
|
||||
}
|
||||
|
||||
%prime-base.=grep: +*.value.elems > 10;
|
||||
|
||||
for 1 .. $chars -> $m {
|
||||
say "$m character strings that are prime in maximum bases: " ~ (my $e = ((%prime-base.grep( *.key.chars == $m )).max: +*.value.elems).value.elems);
|
||||
.say for %prime-base.grep( +*.value.elems == $e ).grep(*.key.chars == $m).sort: *.key;
|
||||
say '';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue