! Programa que lê dois números e imprime a soma do fatorial desses números
program soma_fatoriais
	implicit none
    integer num1, num2, soma, fatorial
    
    write(*,*) "Programa que le dois numeros inteiros e imprime a soma do fatorial desses numeros"
    write(*,*)
    write(*,*) "Digite os dois numeros"
    read (*,*) num1, num2
    
    soma = fatorial(num1) + fatorial(num2)
    
    write(*,*)
    write(*,*) "Soma dos fatoriais dos dois numeros lidos eh ", soma
    
    stop 
end program soma_fatoriais


! Funcao que calcula o fatorial de um número recebido como parâmetro
function fatorial(num)
	implicit none
    integer fatorial, num, fator
    fatorial = 1
    do fator = 1, num, 1
      fatorial = fatorial * fator
    end do
end function fatorial     