Mi programa para sacar el factorial de un número deja de funcionar a partir de 8
Publicado por Marcos (7 intervenciones) el 18/05/2020 21:07:59
Hola, estoy haciendo un ejercicio que consiste en calcular el factorial de un número que se pide por teclado. El caso es que mi programa funciona pero solo del 2 al 7, a partir de 8 da negativo, y tampoco funcionaría para 1 o menores. No se me ocurre nada que solucione esto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Var
num,i,resta,factor:integer;
Begin
writeln('Introduce un número:');
readln(num);
for i:= 1 TO (num - 1) DO
Begin
resta:=num-1;
writeln(resta);
If i = 1 then
Begin
factor:=1*num;
End
Else
Begin
factor:=factor*num
End;
num:=resta;
End;
writeln ('El factorial del número introducido es: ', factor);
End.
Valora esta pregunta


0