PROGRAM Asal_Sayilar
!----------------------------------------------------
! 17prg05.f95
! N = 100,000 den küçük asal sayılar.
!----------------------------------------------------
IMPLICIT NONE
INTEGER, PARAMETER :: N = 1000000
INTEGER :: I, Sayi, Sayac = 0
LOGICAL :: Asal

 DO Sayi = 1, N

    IF(Sayi<2) CYCLE                      ! Sayi = 1
    IF(Sayi>2 .AND. MOD(Sayi,2)==0) CYCLE ! Sayi çift

    Asal = .TRUE.

    DO I = 2, Sayi-1
      IF( MOD(Sayi,I) == 0 ) THEN
        Asal = .FALSE.
        EXIT
      END IF
    END DO

    IF(Asal) THEN
        Sayac = Sayac + 1
        PRINT *,Sayi
    END IF

 END DO

 PRINT *,"Toplam", Sayac, " adet."

END PROGRAM