program main implicit none integer :: N, i, j, m, k real :: sum1 integer, allocatable :: num(:), prime(:) write(*,*) 'Give N' read(*,*) N Allocate (num(N), prime(N)) do i = 1, N num(i) = i end do m = int(sqrt(real(N)) + 1) do i = 2, m if (num(i)/=0) then do j = i+1, N if (num(j)/=0) then if(mod(num(j),num(i))==0) num(j)=0 end if end do end if end do ! Print all numbers k = 0 do i = 2, N if (num(i)/=0) then k = k + 1 prime(k) = num(i) write(*,*) 'Prime number', k,'is:', prime(k) end if end do stop end