Hallar los factores primos de un número |
|
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; } |
|