Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program sieve
- ! Juhani Kaukoranta 8.4.2019
- ! Laskee alkulukuja < 100 milj
- ! muokattu lähteestä rosettacode, sieve_wheel_2
- implicit none
- integer , parameter :: i_max = 100000000
- integer :: i, j
- real :: t1, t2
- logical, dimension (i_max) :: is_prime
- call cpu_time (t1)
- is_prime = .true.
- is_prime (1) = .false.
- is_prime (4 : i_max : 2) = .false.
- do i = 3, int (sqrt (real (i_max))), 2
- if (is_prime (i)) is_prime (i * i : i_max : 2 * i) = .false.
- end do
- j = 0
- do i = 1, i_max
- if (is_prime (i)) then
- j = j+1
- endif
- end do
- call cpu_time (t2)
- print *, 'alkulukuja oli ',j
- print *, 'aikaa kului',t2-t1
- end program sieve
Add Comment
Please, Sign In to add comment