Descomponer un número en factores primos

Como sabemos, todos los números se pueden descomponer en una sucesión de números primos, y este programa hace eso. Recordamos que los números primos son aquellos que solo se puede dividir por si mismo, dando como resultado un número entero.

#include
#include

int main(void)
{
int cont,numero;
printf("Ingrese un numero entero para descomponer en factores primos:");
scanf("%d",&numero);
if (numero<0) //valida que el número ingresado no sea negativo.
{
printf("%d no es valido.\n",numero);
}
if (numero==1) //arregla el detalle de que todos los números son divisibles por 1
{
printf("1 es primo.\n");
}
else
{

while (numero!=1)//Cuando el resultado es 1 termina de descomponer
{
for (cont=2;cont<=numero;cont+=1)//realiza la división por todos los números menores
{
if (numero%cont==0)//Si una división tiene resto cero imprime
{
printf("%d\t|%d\n",numero,cont);
numero=numero/cont;//Cambia por el resultado de la división de resto cero
break;
}
}
}
printf("%d\t|\n",numero);
}
system("PAUSE");
return EXIT_SUCCESS;
}

16 comentarios:

Anónimo dijo...

no me sirve para nadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Anónimo dijo...

SOY UNA NIÑA QUE NO FUE A CLASSES EN ESA MATERIA NO ENTIENDO NADA ESCRIBE ALGO MEJOR

Anónimo dijo...

porque no pones una pagina donde se pueda desocomponer o como sea en numeros primos y te dejas de joder q eso no lo entendes ni vos

Anónimo dijo...

porque no pones una pagina donde se pueda desocomponer o como sea en numeros primos y te dejas de joder q eso no lo entendes ni vos

Anónimo dijo...

eres más tonto que la concha de tu madre

SOLOMOCHILA dijo...

Perdonenlo, es un ser inferior.
Una raza que espero que se extinga pronto.

Anónimo dijo...

ajajjaaajajaja es verdad

Anónimo dijo...

ammmmmmmmmmmmm ya se como es muchas gracias me a servido de algo cenkiu

samuelee dijo...

yo lo hice de esta manera:

#include

int num;

int calculo ( num )
{
int divisor;

printf ( "%d = ", num );
for ( divisor = 2 ; num >= divisor ; divisor++ )
{
while ( ( num % divisor ) == 0 )
{
printf ( "%d · ", divisor );
num /= divisor;
}
}
printf ( "%d", num );
}

int main ()
{
system ( "clear" );
printf ( "\nIntroduce un número positivo, pulse 0 para salir: ");
scanf ( "%d", &num );
while ( num != 0 )
{
calculo ( num );
printf ( "\nIntroduce otro número positivo si lo desea, pulse 0 para salir: " );
scanf ( "%d", &num );
}
printf ( "\n\n\n Fin del programa\n\n" );
return 0;
}


Compilado en Linux con gcc

Anónimo dijo...

todos sois unos hippiecolgaos

Ábrete, ras .. y ZAS ! dijo...

fumar porros es malo

Anónimo dijo...

POR DIOS EN VEZ DE PERDER EL TIEMPO JODIENDONOS LA PASCIENCIA BUSCATE UN TUTOR DE MATEMATICAS Y OTRO DE CASTELLANO PORQUE TODO LO QUE ESCRIBISTES ES PURA PAJA. BUUUUU JODER CONTIGO

Anónimo dijo...

lo logico es que analices lo q vas a escribir pero te felicito por el valor que tienes para hacer el RIDICULO.
APLAUSOS PARA EL O ELLA.
JAJAJAJAJAJAJAJAJAJAAJAJAJAJA A QUIEN ENGAÑO Q ESTUPIDES ESCRIBIO.

SOLOMOCHILA dijo...

Pobre... de a ratos me da lástima..

Anónimo dijo...

quien me chupa el pito que lo tengo seco

david dijo...

gracias parcero me sirvio mucho, tuve que cambiarle varias cositas pero en esencia era lo que necesitaba, gracias.

Publicar un comentario

Si llegaste hasta acá y no lo encontraste lo que necesitás intentá buscarlo: