jukaukor

eratosthenes_sieve.f90

Apr 8th, 2019
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. program sieve
  2. ! Juhani Kaukoranta 8.4.2019
  3. ! Laskee alkulukuja < 100 milj
  4. ! muokattu lähteestä rosettacode, sieve_wheel_2
  5. implicit none
  6. integer , parameter :: i_max = 100000000
  7. integer :: i, j
  8. real :: t1, t2
  9. logical, dimension (i_max) :: is_prime
  10. call cpu_time (t1)
  11. is_prime = .true.
  12. is_prime (1) = .false.
  13. is_prime (4 : i_max : 2) = .false.
  14. do i = 3, int (sqrt (real (i_max))), 2
  15. if (is_prime (i)) is_prime (i * i : i_max : 2 * i) = .false.
  16. end do
  17. j = 0
  18. do i = 1, i_max
  19. if (is_prime (i)) then
  20. j = j+1
  21. endif
  22. end do
  23. call cpu_time (t2)
  24. print *, 'alkulukuja oli ',j
  25. print *, 'aikaa kului',t2-t1
  26. end program sieve
Add Comment
Please, Sign In to add comment