18 lines
434 B
Text
18 lines
434 B
Text
val .isPrime = fn(.i) .i == 2 or .i > 2 and
|
|
not any fn(.x) .i div .x, pseries 2 .. .i ^/ 2
|
|
|
|
val .sumDigits = fn(.i) fold fn{+}, s2n string .i
|
|
|
|
writeln "Additive primes less than 500:"
|
|
|
|
var .count = 0
|
|
|
|
for .i in [2] ~ series(3..500, 2) {
|
|
if .isPrime(.i) and .isPrime(.sumDigits(.i)) {
|
|
write $"\{.i:3} "
|
|
.count += 1
|
|
if .count div 10: writeln()
|
|
}
|
|
}
|
|
|
|
writeln $"\n\n\{.count} additive primes found.\n"
|