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