PROGRAM Mükemmel_Sayi
!------------------------------------------------------
! 17prg04.f95
! N = 10000 den küçük mükemmel sayılar.
!------------------------------------------------------
IMPLICIT NONE
INTEGER, PARAMETER :: N = 10000
INTEGER :: I, Sayi, Toplam, Sayac = 0

  DO Sayi = 2, N

    Toplam = 0
    DO I=2, Sayi-1
     ! tam bölenleri bul ve topla
     IF( MOD(Sayi,I) == 0 ) Toplam = Toplam + I
    END DO

    ! Bölenlerin toplamı sayıya eşit mi?
    IF( Toplam + 1 == Sayi) THEN
      Sayac = Sayac + 1
      PRINT *,Sayi
    END IF

  END DO

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

END PROGRAM