! Programa que lê N numeros e, para cada numero lido, determina se ele é ou não primo
program N_numeros_primos 
   implicit none
   integer numero, div, cont_div, N, cont

   write(*, *) "Programa que le N numeros e, para cada numero lido, determina se ele eh ou nao primo"
   write(*, *)
   write(*, *) "Didite o valor de N: "
   read(*, *) N

   write(*, *) "Digite os N numeros"
   do cont = 1, N, 1  
      read(*, *) numero
      ! conta os divisores do numero lido
      cont_div = 0
      do div = 1, numero, 1
        if (mod(numero, div) == 0) then
          cont_div = cont_div + 1
        end if
      end do
      ! verifica se o numero é ou não primo
      if (cont_div == 2) then
        write(*, *) "O numero lido Eh Primo"
      else
        write(*, *) "O numero lido Nao Eh Primo"
      end if
   end do  
   
   stop 
end program N_numeros_primos