RosettaCodeData/Task/Additive-primes/MiniScript/additive-primes.mini

29 lines
570 B
Text
Raw Permalink Normal View History

2023-12-16 21:33:55 -08:00
isPrime = function(n)
2026-02-01 16:33:20 -08:00
if n <= 3 then return n > 1
if n % 2 == 0 or n % 3 == 0 then return false
i = 5
while i ^ 2 <= n
if n % i == 0 or n % (i + 2) == 0 then return false
i += 6
end while
return true
2023-12-16 21:33:55 -08:00
end function
digitSum = function(n)
2026-02-01 16:33:20 -08:00
sum = 0
while n > 0
sum += n % 10
n = floor(n / 10)
end while
return sum
2023-12-16 21:33:55 -08:00
end function
additive = []
for i in range(2, 500)
2026-02-01 16:33:20 -08:00
if isPrime(i) and isPrime(digitSum(i)) then additive.push(i)
2023-12-16 21:33:55 -08:00
end for
print "There are " + additive.len + " additive primes under 500."
print additive