Extra primes
Extra primes is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
n is an extra prime if n is prime and its digits and sum of digits are also primes.
Ring
<lang ring> load "stdlib.ring"
limit = 1000 num = 0 for n = 1 to limit
x1 = prime1(n) x2 = prime2(n) if x1 = 1 and x2 = 1 num = num + 1 see "The " + num + "th Extra Prime is: " + n + nl ok
next
func prime1(x)
pstr = string(x) len = len(pstr) count = 0 for n = 1 to len if isprime(number(pstr[n])) count = count + 1 ok next if count = len return 1 else return 0 ok
func prime2(x)
pstr = string(x) len = len(pstr) sum = 0 for n = 1 to len sum = sum + number(pstr[n]) next if isprime(sum) return 1 else return 0 ok
</lang> Output:
The 1th Extra Prime is: 2 The 2th Extra Prime is: 3 The 3th Extra Prime is: 5 The 4th Extra Prime is: 7 The 5th Extra Prime is: 23 The 6th Extra Prime is: 25 The 7th Extra Prime is: 32 The 8th Extra Prime is: 52 The 9th Extra Prime is: 223 The 10th Extra Prime is: 227 The 11th Extra Prime is: 232 The 12th Extra Prime is: 272 The 13th Extra Prime is: 322 The 14th Extra Prime is: 335 The 15th Extra Prime is: 337 The 16th Extra Prime is: 353 The 17th Extra Prime is: 355 The 18th Extra Prime is: 373 The 19th Extra Prime is: 377 The 20th Extra Prime is: 533 The 21th Extra Prime is: 535 The 22th Extra Prime is: 553 The 23th Extra Prime is: 557 The 24th Extra Prime is: 575 The 25th Extra Prime is: 577 The 26th Extra Prime is: 722 The 27th Extra Prime is: 733 The 28th Extra Prime is: 737 The 29th Extra Prime is: 755 The 30th Extra Prime is: 757 The 31th Extra Prime is: 773 The 32th Extra Prime is: 775