Factorions: Difference between revisions
Content added Content deleted
(Add Swift) |
Thundergnat (talk | contribs) (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>
(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}}==
|