MODULE Fact_Module

 

IMPLICIT NONE

 

CONTAINS

 

FUNCTION FACT(K)

                       

                        INTEGER :: FACT, I

                        INTEGER, INTENT(IN) :: K

           

FACT=1

                                    DO I=1, K

                                                FACT=FACT*I

                        END DO

END FUNCTION FACT

 

END Fact_Module

 

 

PROGRAM Use_Fact_Module

 

Use Fact_Module

IMPLICIT NONE

INTEGER :: N

 

PRINT *, “Enter a positive integer N”

READ *, N

PRINT *, N,”!= “, Fact(N)

 

END PROGRAM Use_Fact_Module