Jump to content

Factorions: Difference between revisions

Rename Perl 6 -> Raku, alphabetize, minor clean-up
(Add Swift)
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 63:
The factorions for base 12 are:
1 2</pre>
 
=={{header|AWK}}==
<lang AWK>
Line 370 ⟶ 371:
Factorions in base 14 are (1 2 12973363226)
</pre>
 
=={{header|Perl 6}}==
{{works with|Rakudo|2019.07.1}}
 
<lang perl6>constant @factorial = 1, |[\*] 1..*;
 
constant $limit = 1500000;
 
constant $bases = 9 .. 12;
 
my @result;
 
$bases.race(:1batch).map: -> $base {
 
@result[$base] = "\nFactorions in base $base:\n1 2";
 
sink (1 .. $limit div $base).map: -> $i {
my $product = $i * $base;
my $partial;
 
for $i.polymod($base xx *) {
$partial += @factorial[$_];
last if $partial > $product
}
 
next if $partial > $product;
 
my $sum;
 
for ^$base {
last if ($sum = $partial + @factorial[$_]) > $product + $_;
@result[$base] ~= " $sum" and last if $sum == $product + $_
}
}
 
.say for @result[$bases];</lang>
{{out}}
<pre>Factorions in base 9:
1 2 41282
 
Factorions in base 10:
1 2 145 40585
 
Factorions in base 11:
1 2 26 48 40472
 
Factorions in base 12:
1 2</pre>
 
=={{header|Phix}}==
Line 486 ⟶ 438:
1 2
</pre>
 
=={{header|Perl 6Raku}}==
(formerly Perl 6)
{{works with|Rakudo|2019.07.1}}
 
<lang perl6>constant @factorial = 1, |[\*] 1..*;
 
constant $limit = 1500000;
 
constant $bases = 9 .. 12;
 
my @result;
 
$bases.race(:1batch).map: -> $base {
 
@result[$base] = "\nFactorions in base $base:\n1 2";
 
sink (1 .. $limit div $base).map: -> $i {
my $product = $i * $base;
my $partial;
 
for $i.polymod($base xx *) {
$partial += @factorial[$_];
last if $partial > $product
}
 
next if $partial > $product;
 
my $sum;
 
for ^$base {
last if ($sum = $partial + @factorial[$_]) > $product + $_;
@result[$base] ~= " $sum" and last if $sum == $product + $_
}
}
 
.say for @result[$bases];</lang>
{{out}}
<pre>Factorions in base 9:
1 2 41282
 
Factorions in base 10:
1 2 145 40585
 
Factorions in base 11:
1 2 26 48 40472
 
Factorions in base 12:
1 2</pre>
 
=={{header|REXX}}==
10,339

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.