39 lines
552 B
Plaintext
39 lines
552 B
Plaintext
# Enabling raw variable names boosts the performance massivly [DO NOT RUN WITHOUT enabling raw variable names]
|
|
lang.rawVariableNames = 1
|
|
|
|
# Cache factorials from 0 to 11
|
|
&fact = fn.listOf(1)
|
|
$n = 1
|
|
while($n < 12) {
|
|
&fact += &fact[-|$n] * $n
|
|
|
|
$n += 1
|
|
}
|
|
|
|
$b = 9
|
|
while($b <= 12) {
|
|
fn.printf(The factorions for base %d are:%n, $b)
|
|
|
|
$i = 1
|
|
while($i < 1500000) {
|
|
$sum = 0
|
|
|
|
$j = $i
|
|
while($j > 0) {
|
|
$d $= $j % $b
|
|
$sum += &fact[$d]
|
|
$j //= $b
|
|
}
|
|
|
|
if($sum == $i) {
|
|
fn.print($i\s)
|
|
}
|
|
|
|
$i += 1
|
|
}
|
|
|
|
fn.println(\n)
|
|
|
|
$b += 1
|
|
}
|