2
« en: Lunes 19 de Enero de 2004, 04:25 »
Hola!!!!. Un programilla que te imprime los n primeros números primos es:
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
int main()
{
int n, j, divisores, numero, total_primos;
// Leemos el valor de n
fprintf(stdout,"Valor de n = ");
scanf("%d",&n);
total_primos = 0; // Controla el total de primos
numero = 1; // Controla los números a analizar
// Ciclo para obtener los 'n' números primos
while (total_primos < n)
{
divisores = 0; // Cuenta el número de divisores
// Para que un numero sea primo, no se deben encontrar divisores entre 2 y n-1
for(j=2;j<numero;j++)
{
if ( (numero % j) == 0) divisores++;
}
// Controla el numero de divisores encontrados
if (divisores == 0)
{
total_primos++;
fprintf(stdout,"Primo Nro. %d es %d\n ",total_primos,numero);
}
// Pasa al siguiente numero
numero++;
}
system("PAUSE");
return 0;
}
La idea es considerar que un numero primo es aquel que es sólo divisible por 1 y por si mismo, es decir que no deben haber divisores dentro del rango [2, x-1] para todo x.
Espero que te sirva de algo
Saludos
--
Yasna Meza Hidalgo