29 lines
533 B
Plaintext
29 lines
533 B
Plaintext
isPrime = function(n)
|
|
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
|
|
end function
|
|
|
|
digitSum = function(n)
|
|
sum = 0
|
|
while n > 0
|
|
sum += n % 10
|
|
n = floor(n / 10)
|
|
end while
|
|
return sum
|
|
end function
|
|
|
|
additive = []
|
|
|
|
for i in range(2, 500)
|
|
if isPrime(i) and isPrime(digitSum(i)) then additive.push(i)
|
|
end for
|
|
print "There are " + additive.len + " additive primes under 500."
|
|
print additive
|