program P_3
implicit none
integer :: num , producto, i, num1, num2, num3, prod2, prod3, j, k, op, op2, op3
real :: s , prod4
print* ,'¿De qué número quieres el factorial?'
read ( * ,* ) num
producto= 1
do i= 1 ,num
op= i* producto
producto= op
end do
print* ,producto
print* ,'Da otro número para n'
read ( * ,* ) num1
num2= ( - 1 ) ** num1
if ( num2== 1 ) then
prod2= 1
do j= 2 ,num1,2
op2= j* prod2
prod2= op2
end do
print* ,prod2
else
prod3= 1
do k= 1 ,num1,2
op3= k* prod3
prod3= op3
end do
print* , prod3
end if
print* ,'Otra forma de sacar factorial, da un numero para n'
read ( * ,* ) num3
s= num3
prod4= ( SQRT ( 2 * s* PI) ) * ( ( s/ EXP ) ** s)
print* ,prod4
end program P_3
ICAgICAgICBwcm9ncmFtIFBfMwogICAgICAgIGltcGxpY2l0IG5vbmUKICAgICAgICBpbnRlZ2VyOjogbnVtLCBwcm9kdWN0bywgaSwgbnVtMSwgbnVtMiwgbnVtMywgcHJvZDIsIHByb2QzLCBqLCBrLCBvcCwgb3AyLCBvcDMKICAgICAgICByZWFsOjogcywgcHJvZDQKICAgICAgIAogICAgICAgIHByaW50Kiwnwr9EZSBxdcOpIG7Dum1lcm8gcXVpZXJlcyBlbCBmYWN0b3JpYWw/JwogICAgICAgIHJlYWQgKCosKikgbnVtCiAgICAgICAgcHJvZHVjdG89MQogICAgICAgIGRvIGk9MSxudW0KICAgICAgICAgICAgICAgIG9wPWkqcHJvZHVjdG8KICAgICAgICAgICAgICAgIHByb2R1Y3RvPW9wCiAgICAgICAgZW5kIGRvCiAgICAgICAgcHJpbnQqLHByb2R1Y3RvCiAgICAgICAgcHJpbnQqLCdEYSBvdHJvIG7Dum1lcm8gcGFyYSBuJwogICAgICAgIHJlYWQgKCosKikgbnVtMQogICAgICAgIG51bTI9KC0xKSoqbnVtMQogICAgICAgIAogICAgICAgIGlmKG51bTI9PTEpIHRoZW4gCiAgICAgICAgICAgICAgICBwcm9kMj0xCiAgICAgICAgICAgICAgICBkbyBqPTIsbnVtMSwyCiAgICAgICAgICAgICAgICAgICAgICAgIG9wMj1qKnByb2QyCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2QyPW9wMgogICAgICAgICAgICAgICAgZW5kIGRvCiAgICAgICAgICAgICAgICBwcmludCoscHJvZDIKICAgICAgICBlbHNlICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBwcm9kMz0xCiAgICAgICAgICAgICAgICBkbyBrPTEsbnVtMSwyCiAgICAgICAgICAgICAgICAgICAgICAgIG9wMz1rKnByb2QzCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2QzPW9wMwogICAgICAgICAgICAgICAgZW5kIGRvCiAgICAgICAgICAgICAgICBwcmludCosIHByb2QzCiAgICAgICAgZW5kIGlmCiAgICAgICAgCiAgICAgICAgcHJpbnQqLCdPdHJhIGZvcm1hIGRlIHNhY2FyIGZhY3RvcmlhbCwgZGEgdW4gbnVtZXJvIHBhcmEgbicKICAgICAgICByZWFkICgqLCopIG51bTMKICAgICAgICBzPW51bTMKICAgICAgICBwcm9kND0oU1FSVCgyKnMqUEkpKSooKHMvRVhQKSoqcykgICAgIAogICAgICAgIHByaW50Kixwcm9kNCAgIAogICAgICAgIAogICAgICAgIGVuZCBwcm9ncmFtIFBfMw==