octubre 30, 2011

Numero Primo

Esta semana realizare programas que regularmente piden los maestros, hoy empezaremos con el programa que nos imprimirá en consola si un numero que es introducido por el usuario es primo o no, primero que nada tenemos que sabes que es un numero primo (para poder hacer el programa) la definición es la siguiente:

"Un número primo es un número natural mayor que 1, que tiene únicamente dos divisores distintos: él mismo y el 1"

Ahora tomando esta definición, ya podemos hacer nuestro programa primero que nada tenemos que analizar que es lo que necesitamos para realizar esta tarea, entonces como le vamos a pedir datos al usuario(el numero), declaramos una variable de nombre "valor" de tipo String(linea 12), con esta variable podremos utilizar el JOptionPane.showInputDialog (mas a delante), ahora también necesitamos una variable de tipo int que utilizaremos para hacer la conversión de la String que se reciba así que la declaramos(linea 13), ahora declaramos otra variable de tipo int a la que llamaremos "divisores"(linea 14) esta la usaremos para saber cuantos divisores tiene el numero que introdujo el usuario(recordar que un numero primo solo tiene 2 divisores), en la linea 16 y 17 hacemos que a la variable valor se le asigne lo que introduzca el usuario y a la variable "numero" se le asigna la conversión de la variable "valor", después utilizamos un for(linea 19) el indice "i" inicializara en 1(de acuerdo a la definición) y se detendrá hasta que "i" sea menor o igual a "numero" cada iteracion "i" aumentara +1, dentro del for colocamos un if en el cual colocamos la condición:
si numero % i es igual a cero entonces (el signo % significa operación por modulo)
aumentar +1 a la variable "divisores"

de lo contrario
no se hará nada (así que se pasa a la siguiente iteracion)

después de que se concluya con todas las iteraciones ponemos un if en el cual colocamos la siguiente condición:

si la variable divisores ES IGUAL 2(recordar que un numero primo tiene 2 divisores)
entonces "imprimir es primo"

de lo contrario
imprimir "no es primo"

/**
* Archivo: NumeroPrimo.java
* @author Bello Cerecero
* @version 1.0
* @since 30/10/2011
*/
import javax.swing.JOptionPane;
public class NumeroPrimo
{
   public static void main(String[] args)
   {
     String valor;
     int numero;
     int divisores = 0;
 
     valor=JOptionPane.showInputDialog("Introduce un numero");
     numero = Integer.parseInt(valor);
 
     for(int i = 1; i <= numero; i++)  
     {      
        if((numero%i) == 0)   
          divisores++;  
     }    

     if(divisores == 2)      
        System.out.println("El numero es primo");  
     else      
        System.out.println("El numero no es primo");     
   } 
} 

dudas enviar un mensaje a mi correo :)
Loading...