prog.sf 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/usr/bin/ruby
  2. # a(n)-th prime is the smallest prime containing exactly n 0's.
  3. # https://oeis.org/A037052
  4. var h = Hash(
  5. 0 2
  6. 1 101
  7. 2 1009
  8. 3 10007
  9. 4 100003
  10. 5 1000003
  11. 6 20000003
  12. 7 100000007
  13. 8 1000000007
  14. 9 30000000001
  15. 10 100000000003
  16. 11 2000000000003
  17. 12 40000000000001
  18. 13 1000000000000037
  19. 14 6000000000000001
  20. 15 20000000000000003
  21. 16 100000000000000003
  22. 17 1000000000000000003
  23. 18 60000000000000000007
  24. 19 500000000000000000003
  25. 20 8000000000000000000009
  26. 21 10000000000000000000009
  27. 22 1000000000000000000000049
  28. 23 1000000000000000000000007
  29. )
  30. for v in (h.values.sort) {
  31. if (v.to_s =~ /^1/) {
  32. say [v, primepi(10**v.ilog10) + primepi(10**v.ilog10, v)]
  33. }
  34. else {
  35. say [v, primepi(v)]
  36. }
  37. }
  38. __END__
  39. [2, 1]
  40. [101, 26]
  41. [1009, 169]
  42. [10007, 1230]
  43. [100003, 9593]
  44. [1000003, 78499]
  45. [20000003, 1270608]
  46. [100000007, 5761456]
  47. [1000000007, 50847535]
  48. [30000000001, 1300005927]
  49. [100000000003, 4118054814]
  50. [2000000000003, 73301896140]
  51. [40000000000001, 1320811971703]
  52. [1000000000000037, 29844570422670]
  53. [6000000000000001, 169969662554552]
  54. [20000000000000003, 547863431950009]
  55. [100000000000000003, 2623557157654234]
  56. [1000000000000000003, 24739954287740861]
  57. 1, 26, 169, 1230, 9593, 78499, 1270608, 5761456, 50847535, 1300005927, 4118054814, 73301896140, 1320811971703, 29844570422670, 169969662554552, 547863431950009, 2623557157654234, 24739954287740861