Una variación de dicho ejercicio es imprimir los primeros 'n' números primos. Por ejemplo, si al ejecutar el programa ingresamos el número 5, el programa imprimirá los primeros 5 números primos.
Para escribir este código es necesario dividir el programa en 2. Una parte se encargará de determinar si los números que le vamos pasando a través de un ciclo son o no primos y la otra parte se encargará de ir almacenando en una variable dichos números para posteriormente ser impresos en pantalla.
El siguiente código corresponde a una aplicación de consola que, dado un número 'n', imprime los primeros 'n' números primos.
static void Main(string[] args) { int n; //número de primos a mostrar en pantalla string primos; //cadena donde almacenaremos la lista de los números primos a imprimir Console.Write("Cantidad de primos a imprimir : "); n = Convert.ToInt32(Console.ReadLine()); ListarPrimos(n, out primos); Console.WriteLine("\n\n"+primos); Console.ReadKey(); } private static void ListarPrimos(int n, out string primos) //subprograma donde almacenamos los números primos { primos = string.Empty; int cantPrimos = 0, cont = 2; while(cantPrimos < n) { if(EsPrimo(cont)) { primos += cont + "\t"; cantPrimos++; } cont++; } } private static bool EsPrimo(int cont) //subprograma donde determinamos si un número es primo o no { for (int i = 2; i < cont/2; i++) { if (cont % i == 0) return false; } return true; }
El código del programa en .Net lo puedes descargar de aquí.
No hay comentarios:
Publicar un comentario