primality_by_trial_division.sf 329 B

123456789101112131415161718
  1. #!/usr/bin/ruby
  2. #
  3. ## https://rosettacode.org/wiki/Primality_by_trial_division
  4. #
  5. func is_prime(a) {
  6. given (a) {
  7. when (2) { true }
  8. case (a <= 1 || a.is_even) { false }
  9. default { range(3, a.sqrt) -> any { .divides(a) } -> not }
  10. }
  11. }
  12. 25.times { |i|
  13. is_prime(i) && say i;
  14. }