[ Foro de Pascal ]
Buenas, debo realizar un programa en Pascal que realice la descomposicion factorial de un numero entero SIN USAR NINGUNA DE LAS PALABRAS SIGUIENTES: uses, crlscr, gotoxy, crt, readkey, string, break
Tengo este codigo con un problema en el while que, en el caso de repetirse la variable divisor, me muestra dos veces el contenido de la variable y no se como hacer para que se muestre solo una vez con su respectivo exponente (en el caso que se repita el mismo numero). Agradezco ayuda....Gracias!
PROGRAM Tarea1 (input, output);
VAR numero, divisor, contar_factor: Integer;
BEGIN
WRITE ('Ingrese numero... ');
readln(numero);
divisor := 2;
contar_factor := 0;
WHILE (divisor <= numero) DO
IF (numero MOD divisor = 0) THEN // si el resto de dividir al num ingresado entre divisor es cero
BEGIN
numero := numero DIV divisor;
contar_factor := succ(contar_factor);
IF (contar_factor > 1) THEN
BEGIN
writeln(divisor, '^', contar_factor);
END
ELSE
writeln(divisor);
END
ELSE
BEGIN
divisor := succ(divisor); //si el resto no es cero, pruebo con el siguiente factor
contar_factor := 0;
END;
END.
¿Seguro que necesitas exponentes? ¿para el número 8 deberás escribir 2^3 o 2*2*2?
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)