-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpalindromic_primes.sf
39 lines (32 loc) · 1.18 KB
/
palindromic_primes.sf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/ruby
# Generate palindromic primes up to a given bound.
# See also:
# https://oeis.org/A002385 -- Palindromic primes.
# https://oeis.org/A050251 -- Number of palindromic primes less than 10^n.
# https://rosettacode.org/wiki/Palindromic_primes
func palindromic_primes(upto, base = 10) {
var list = []
for (var p = 2; p <= upto; p = p.next_palindrome(base)) {
list << p if p.is_prime
}
return list
}
say palindromic_primes(1000)
for n in (1..5) {
var count = palindromic_primes(10**n).len
say "There are #{count} palindromic primes <= 10^#{n}"
}
__END__
[2, 3, 5, 7, 11, 101, 131, 151, 181, 191, 313, 353, 373, 383, 727, 757, 787, 797, 919, 929]
There are 4 palindromic primes <= 10^1
There are 5 palindromic primes <= 10^2
There are 20 palindromic primes <= 10^3
There are 20 palindromic primes <= 10^4
There are 113 palindromic primes <= 10^5
There are 113 palindromic primes <= 10^6
There are 781 palindromic primes <= 10^7
There are 781 palindromic primes <= 10^8
There are 5953 palindromic primes <= 10^9
There are 5953 palindromic primes <= 10^10
There are 47995 palindromic primes <= 10^11
There are 47995 palindromic primes <= 10^12