035 Circular primes.sf 517 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/ruby
  2. # Daniel "Trizen" Șuteu
  3. # Edited: 04 November 2017
  4. # https://github.com/trizen
  5. # How many circular primes are there below one million?
  6. # https://projecteuler.net/problem=35
  7. # Runtime: 0.999s (previously 1.235s)
  8. var count = 4 # number of circular primes < 10
  9. var limit = 1e6
  10. for (var p = 11; p < limit; p.next_prime!) {
  11. var s = Str(p)
  12. next if s.contains(/[^1379]/)
  13. var d = s.chars
  14. if (d.range.all {|k| Num(d.rotate(k).join).is_prime }) {
  15. ++count
  16. }
  17. }
  18. say count