Programa en Java:Numeros primos

Bueno pues en esta ocasión les traigo un pequeño programa en java en el cual obtendremos los números primos del 1 hasta el numero que queramos.
Lo que hace el usuario con el programa es escribir un numero que sera nuestro limite. El programa entonces desplegara todos los numeros primos del 1 hasta el numero que escribimos, si el numero que escribimos no es primo entonces no se desplegara.

Algoritmo:¿Como funciona?

El programa funciona de la siguiente manera:
Se tiene un limite, el cual es una variable que establece el usuario. Lo que se realiza es ir probando todos los numeros del 1 hasta ese limite si es primo o no. Cada numero que se encuentre que sea primo entre el 1 y nuestro limite sera desplegado en pantalla, aquellos que no lo sean seran ignorados.

¿Como determinar si un numero es primo o no?

Un numero primo es básicamente cualquier numero que solo sea divisible entre 1 y el mismo. Por lo tanto para determinar si un numero es primo, tomaremos el numero y lo dividiremos entre todos los números menores a este y mayores a 1, si todas estas divisiones tienen un residuo entonces el numero es primo. Es decir, que en ningun momento alguna división haya dado fruto a un numero entero sin residuo.

Veamos el codigo…

A continuación tenemos la clase Nprimos, esta clase tiene 2 metodos, el metodo iniciar() y el metodo esPrimo(), vemos que la clase iniciar tiene un parametro el cual es un numero que sera nuestro limite(hasta que numero quiero contar numeros primos), y el numero esPrimo() tiene un parametro que es un unico numero, el metodo determina si el numero es primo y regresa un valor de “true” o Verdadero si lo es, si el numero no es primo regresa un valor falso (false).

public class Nprimos {

public void iniciar(int limite)
{

for(int i=1;i<=limite;i++)

{

if(esPrimo(i))

{
System.out.println("Numero Primo:"+i);
}
}
}

public boolean esPrimo(int numero)
{
int aux;
for(int cont=2;cont<numero;cont++)
{
aux=numero%cont;
if(aux==0)
return false;
}
return true;
}
}

Descarga:

Aqui les dejo un Main.java para ejecutar el programa y la clase Nprimos en formato .java

Main.java
Nprimos.java

Espero les haya servido de algo, no olvides dejar tus comentarios.

 

Acerca del autor:

Mi nombre es Jorge Villalobos, soy Colombiano de nacimiento y resido en México desde 2005,actualmente soy el creador de codigoprogramacion.com Soy ingeniero en tecnologías de información y comunicaciones y trabajo de tiempo completo desarrollando aplicaciones web. En general me considero un tipo normal, me gusta salir, divertirme, y uno de mis hobbies es programar y hacer tutoriales para compartir conocimiento, me gusta la pizza, el ajedrez y tomar una que otra cerveza los fines de semana. Espero que este proyecto ayude a ayudar a los demás.

Twitter del autor:

13 comments

  1. olge says:

    ocupo ayuda con esto amigo como programarlo en DR JAVA SOY ESTUDIANTE de informatica empresarial

    Hacer un método que se llame SumaPrimos, que reciba tres enteros como

    parámetros y devuelva la suma de los que son primos. Ejemplo (si recibe 1,2 y 6),

    debería de devolver un 3, que sería a suma de 1 más 2, que en este caso son los

    primos.

  2. olge says:

    amigo me podrias decir como programar esto

    Hacer un método que se llame SumaPrimos, que reciba tres enteros como

    parámetros y devuelva la suma de los que son primos. Ejemplo (si recibe 1,2 y 6),

    debería de devolver un 3, que sería a suma de 1 más 2, que en este caso son los

    primos.

  3. David says:

    no es necesario hacer tantas iteraciones, con verificar desde 2 hasta la raiz del numero es suficiente….

    public static boolean isPrime(int n){
    for(int i = 2; i <= Math.sqrt(n); i++){
    if (n % i == 0) {
    return false;
    }
    }
    return true;
    }

  4. Edwin RF says:

    Pues este código es mejor pruebenlo:

    using System;

    public class CalculandoPrimo
    {
    public static void Main()
    {
    Primos();

    }

    public static void Primos()
    {
    Console.WriteLine(“Cuantos primos quiere conocer”);
    int max = int.Parse(Console.ReadLine());
    int [] vPrimo = new int[max];
    int [] vTemp = new int[4]{11,3,7,9};
    int i = 0;
    int i2 = 1;
    int hasta;
    Console.WriteLine(“Los Primos a partir de 3 son:”);
    while(true)
    {
    if(vPrimo[i] == 0)
    {
    vPrimo[i] = vTemp[i2];
    Console.WriteLine( i+” “+vTemp[i2]);
    vTemp[i2] += 10;
    if (i + 1 == max)
    break;

    }

    i2 += 1;
    if(i2 == 4)
    i2 = 0;
    hasta = vTemp[i2]/2;
    foreach(int p in vPrimo)
    {
    if(p == 0)
    {
    i+=1; break;
    }
    else if(p <= hasta)
    {
    if(vTemp[i2]%p == 0)
    {
    vTemp[i2] += 10;
    break;
    }
    }
    else {
    i+=1; break;
    }
    }

    }

    }
    }

  5. César Zambtrano says:

    Calcular la cantidad de los primeros N números primos, recuerde que un número primo es aquel que solamente es divisible entre uno y sí mismo.

    Sugerencia: cree un método para ver si un número es primo, use este método dentro de otro método para contar los número primos

  6. César says:

    oye no me valio, necesito un programa q es este:

    Calcular la cantidad de los primeros N números primos, recuerde que un número primo es aquel que solamente es divisible entre uno y sí mismo.

    Sugerencia: cree un método para ver si un número es primo, use este método dentro de otro método para contar los número primos

  7. anonimo says:

    Titulo

    Alta Nueva

    Datos
    //datos
    Nombre*:

    //lista desplegable
    Provincia*:

    – Selecciona una Provincia –
    Barcelona

    //caja de texto
    Como nos ha conocido?*

    //checkbox
    Categorias de interes:
    musica
    //other

    Categorias de interés(Tipo de juegos)*:

    Estrategia
    Arcade

  8. nati&richie says:

    es hpta no sirve pa nada

  9. sergio says:

    Hola me sirvió tu código he visto tus vídeos gracias por compartir tus conocimientos

  10. jimm says:

    No sirve mejor dedícate a otra cosa

  11. de says:

    no sirve tu huevada de codigos

  12. gabo says:

    Muy buen aporte compañero…

Leave a Reply

Your email address will not be published. Required fields are marked *