[ Foro de Pascal ]

Pascal descomponer entero en factores primos

09-Sep-2018 23:44
Invitado (Fab2015)
1 Respuestas

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.


01-Oct-2018 17:05
Nacho Cabanes (+37)

¿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.)