PHP - factorial php

   
Vista:

factorial php

Publicado por jose (4 intervenciones) el 09/04/2014 01:03:39
Hola

Bueno, tengo el siguiente problema: Debo hacer un programa en php que calcule el numero factorial, para ello he creado un formulario en html, aca va el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE HTML>
<html>
<head>
<title>Fakultet php</title>
</head>
<body>
<form method="POST" action="fakultet.php">
Ingresar un numero mayor a 0
<br>
<input type="text" name="num" size=30>
 
<input type="submit" name="ber" value="calcular">
</form>
</body>
</html>

Despues esta mi codigo php

1
2
3
4
5
6
7
8
9
10
<?php
$factorial= $_POST['num'];
echo "<hr>"."1";
$svar=1;
for($matte=2;$matte<=$factorial;$matte++){
$svar=$svar * $matte;
 
}
echo " = ".$svar;
?>

el problema es que cada vez que ingreso un numero ej, el 8, me sale el resultado de esta forma:

1 = 40320

el valor final esta bien, pero deberia salirme asi:

8!=40320.

el otro problema es que los numeros grandes ej, 20, me sale asi:

1 = 2.4329020081766E+18

Cuando deberia salir : 20! = 2432902008176640000

Alguien porfavor me puede ayudar , gracias :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

factorial php

Publicado por xve (5513 intervenciones) el 09/04/2014 08:23:47
Sobre el numero 1 que te aparece, simplemente modifica esta linea:
1
echo "<hr>"."1";
por
1
echo "<hr>".$factorial;

Sobre el tema del numero grande, revisa este post:
http://www.lawebdelprogramador.com/foros/PHP/909128-operaciones_con_numeros_grandes.html

Espero que te sirva... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

factorial php

Publicado por jose (4 intervenciones) el 09/04/2014 13:51:32
Hola xve,

Gracias por el comentario, resolvi la primera parte, pero el enlace que me mandaste, no me sirvio mucho, espero poder tener alguna otra noticia mas adelante.


gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar