RosettaCodeData/Task/Additive-primes/Langur/additive-primes.langur
2024-04-19 16:56:29 -07:00

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"