Factorial, solo resultado final

Estoy aprendiendo pascal y me he quedado atrapado en un ejercicio de sacar el factorial, el programa esta hecho y funciona perfectamente.
El problemas es que al salirme el resultado, me salen todos los resultados de las multiplicaciones que ha hecho y yo solo quiero el resultado final, se que tiene que ser muy fácil pero llevo un rato y no lo consigo. Muchas gracias por tu ayuda.
Aquí te dejo el programa
program factorial;
var x,num,y:real;
begin
write (´introduzca el numero para hacer su factorial: ´);
readln(num);
x:=1;
begin
while num>=1 do
begin
x:=x*num;
num:=num-1;
writeln(él factorial es´,x:2:0);
end;
end.

1 Respuesta

Respuesta
1
Lo que pasa es que has puesto el writeln dentro del while, eso hará que se imprima el resultado que se va calculando en cada interacción del ciclo. Debes ponerlo fuera como sigue:
program factorial;
var x,num,y:real;
begin
write (´introduzca el numero para hacer su factorial: ´);
readln(num);
x:=1;
begin
while num>=1 do
begin
x:=x*num;
num:=num-1;
end; 
writeln(él factorial es´,x:2:0);  <-- Aquí es donde va
end.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas