Hallar los factores primos de un número Imprimir
Escrito por adrianvaca   
Martes, 22 de Marzo de 2011 23:58

Bien, para hallar los factores primos de un número vamos a contruír un pequeño programa.

Los archivos de cabecera son:

#include <iostream.h>
#include <conio.h>
#include <math.h>



Por otro lado una función que nos ayude a ver si un número es primo o no:

/* Determina si un numero es primo */
/* retorna 1 si lo es, 0 en caso contrario */
int es_primo(int N)
{
   int k, raiz;

   raiz = (int) sqrt(N);

   /*  N es un numero primo si sólo es divisible por N
   o por la unidad. */
   for( k=2; N%k && k<=raiz; k++);

   /* Si se llego a dividir N entre todos los numeros menores
      que su raíz cuadrada entonces es un primo */
   
   if(k==raiz+1)
       return 1;

   return 0; /* no es primo */
}



Y ahora la funcion main:

int main()
{
   int num;

   cout << "Ingrese un numero: ";
   cin >> num;

   cout << "Los factores primos son: ";
      for(i=1; i<=num; i++)
         if(num%i==0 && es_primo(i))
            cout << i << " ";

   getch();
   
   return 0;
}
 
Otros artículos