Home primes: Difference between revisions
→{{header|Wren}}: Updated in line with revised task requirements.
mNo edit summary |
(→{{header|Wren}}: Updated in line with revised task requirements.) |
||
Line 208:
{{libheader|Wren-math}}
{{libheader|Wren-big}}
Not an easy task for Wren which lacks a fast factorization routine for 'big' integers - for now I've just modified the one I use for 'small' integers.
Line 215 ⟶ 213:
<lang ecmascript>import "/math" for Int
import "/big" for BigInt
// simple wheel based prime factors routine for BigInt
Line 250 ⟶ 246:
for (i in 2..20) {
if (Int.isPrime(i)) {
System.print("HP%(i) = %(i)")
continue
}
var n = 1
var j = BigInt.new(i)
var h = [j]
while (true) {
var k = primeFactors.call(j).reduce("") { |acc, f| acc + f.toString }
j = BigInt.new(k)
if (j.isProbablePrime(1)) {
for (l in n...0) System.
System.print(h[n])
break
} else {
Line 272 ⟶ 269:
{{out}}
<pre>
HP2
HP3
HP4
HP5
HP6
HP7
HP8
HP9
HP10(4) = HP25(
HP11 = 11
HP12
HP13 = 13
HP14(5) = HP27(
HP15(4) = HP35(
HP16(4) = HP2222(
HP17 = 17
HP18
HP19 = 19
HP20(15) = HP225(
</pre>
|