program factorial implicit none real(kind=8) :: silnia integer :: i,x write(*,*) 'Wprowadz liczbe naturalna z ktorej policze silnie' read(*,*) x if(x.lt.0)then write(*,*)'Liczba mniejsza od zera!!!' else silnia = 1 do i=1,x silnia = silnia*i end do write(*,*)x,'silnia wynosi', silnia end if end program factorial