integer n read *,n call fact(n,ifact) print 100,ifact 100 format("fakt=",I10) end subroutine fact(n,ifact) if(n.lt.0)then print *,"n on neg." stop endif if(n.eq.0)then ifact=1 return endif ifact=1 do i=2,n ifact=ifact*i enddo return end