program test implicit none c integer n real*4 result real*4, external :: sfak c do write(*,*) "enter n:" read(*,*) n c result = sfak(n) write(*,*) 'n=',n,' n!=',result enddo c stop end c c c real function sfak(n) implicit none integer, intent(in) :: n c integer i c if(n .le. 1) then sfak = 1.e0 return else sfak = 1.e0 do i=2,n sfak = sfak*float(i) enddo endif return end