293 Pseudo-Fortunate Numbers.sf 434 B

1234567891011121314151617181920212223242526272829
  1. #!/usr/bin/ruby
  2. # Daniel "Trizen" Șuteu
  3. # License: GPLv3
  4. # Date: 06 May 2017
  5. # https://github.com/trizen
  6. # https://projecteuler.net/problem=293
  7. # Runtime: 0.671s (previously: 1.186s)
  8. var limit = 1e9
  9. var admis = []
  10. func rec(n, p) {
  11. if (n>1 && n<limit) {
  12. admis << n
  13. }
  14. if (n*p < limit) {
  15. rec(n*p, p)
  16. rec(n*p, p.next_prime)
  17. }
  18. }
  19. rec(1, 2)
  20. say admis.map {|n| (n+1).next_prime - n }.uniq.sum