right_truncatable_primes_in_base.sf 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/ruby
  2. # Generate right-truncatable primes in a given base.
  3. # See also:
  4. # https://oeis.org/A076586 -- Total number of right truncatable primes in base n.
  5. # https://oeis.org/A023107 -- Largest integer in which every prefix is prime in base n (written in base 10).
  6. # https://www.youtube.com/watch?v=azL5ehbw_24
  7. # https://en.wikipedia.org/wiki/Truncatable_prime
  8. func generate_from_prefix(p, base, digits) {
  9. var seq = [p]
  10. digits.each {|d|
  11. var num = (base*p + d)
  12. if (num.is_prime) {
  13. seq << __FUNC__(num, base, digits)...
  14. }
  15. }
  16. return seq
  17. }
  18. func right_truncatable_primes(base) { # finite sequence for each base
  19. var prime_digits = (base-1 -> primes) # prime digits < base
  20. var end_digits = (1 ..^ base -> grep { .is_coprime(base) })
  21. prime_digits.map {|p| generate_from_prefix(p, base, end_digits)... }\
  22. .sort
  23. }
  24. for n in (3..15) {
  25. var rtp = right_truncatable_primes(n)
  26. say ("There are #{'%3d' % rtp.len} right-truncatable primes in base #{'%2d' % n}, where largest is #{rtp.max}")
  27. }
  28. __END__
  29. There are 4 right-truncatable primes in base 3, where largest is 71
  30. There are 7 right-truncatable primes in base 4, where largest is 191
  31. There are 14 right-truncatable primes in base 5, where largest is 2437
  32. There are 36 right-truncatable primes in base 6, where largest is 108863
  33. There are 19 right-truncatable primes in base 7, where largest is 6841
  34. There are 68 right-truncatable primes in base 8, where largest is 4497359
  35. There are 68 right-truncatable primes in base 9, where largest is 1355840309
  36. There are 83 right-truncatable primes in base 10, where largest is 73939133
  37. There are 89 right-truncatable primes in base 11, where largest is 6774006887
  38. There are 179 right-truncatable primes in base 12, where largest is 18704078369
  39. There are 176 right-truncatable primes in base 13, where largest is 122311273757
  40. There are 439 right-truncatable primes in base 14, where largest is 6525460043032393259
  41. There are 373 right-truncatable primes in base 15, where largest is 927920056668659