Factor-perfect numbers: Difference between revisions
→{{header|Wren}}: Changed to Erdos method for factor counting - another huge speed-up > 30x.
(→{{header|Wren}}: Changed to Erdos method for factor counting - another huge speed-up > 30x.) |
|||
Line 317:
{{libheader|Wren-math}}
{{libheader|Wren-fmt}}
Timings are about: 0.19 secs for 7, 8.5 secs for 8 and 97 secs for 9 factor-perfect numbers.
<syntaxhighlight lang="ecmascript">import "./math" for Int, Nums
import "./fmt" for Fmt
Line 335:
}
var cache = {}
var erdosFactorCount
erdosFactorCount = Fn.new { |n|
var
for (d in divs)
if (!cache.containsKey(t)) cache[t] = erdosFactorCount.call(t)
}
return
}
Line 385 ⟶ 379:
var n = 4
var fpns = [0, 1]
while (fpns.count <
if (
n = n + 4
}
Line 405 ⟶ 399:
[1, 6, 48] [1, 6, 12, 48] [1, 6, 12, 24, 48] [1, 6, 24, 48]
[1, 8, 48] [1, 8, 16, 48] [1, 8, 24, 48] [1, 12, 48]
[1, 12, 24, 48] [1, 16, 48] [1, 24, 48] [1, 48]
48 sequences using second definition:
[2, 24] [2, 2, 12] [2, 2, 2, 6] [2, 2, 2, 2, 3]
Line 422 ⟶ 416:
OEIS A163272:
[0, 1, 48, 1280, 2496, 28672, 29808, 454656, 2342912]
</pre>
|