PROGRAM Asal_Sayilar !---------------------------------------------------- ! 17prg06.f95 ! Eratosthenes Algoritması ile N = 100,000 den ! küçük asal sayılar. ! Kaynak: ! http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes !---------------------------------------------------- IMPLICIT NONE INTEGER, PARAMETER :: N = 1000000 INTEGER :: I, Sayi, SqrtSayi, 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. SqrtSayi = SQRT( REAL(Sayi) ) DO I =3, SqrtSayi, 2 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