martes, 25 de noviembre de 2008

Programa para comprobar si un número es primo

Diagrama de flujo


Java
import java.util.Scanner;
public class EsPrimo
{
public static void main(String args[])
{
int num, i;
boolean primo;
Scanner teclado = new Scanner(System.in);

//Se espera que el usuario introduzca un número correcto
do
{
try
{
System.out.print("\nIntroduzca un número entero positivo: ");
num = teclado.nextInt();
}
catch(Exception e)
{
teclado.nextLine();
num = -1; //Se asigna un valor negativo para que continúe en el bucle
}
if(num<=0)
System.out.println("ERROR: no ha introducido un número entero positivo");
}while(num<=0);

if(num==1)
primo = true; //Caso especial
else
{
i = 2;
//Se comprueba si hay algún divisor a partir del 2
while (num%i!=0)
i++;
//Si el divisor encontrado es el mismo número, es primo
if (num==i)
primo=true;
else
primo=false;
}
System.out.print("\nEl número "+num);
if(!primo)
System.out.print(" no");
System.out.println(" es primo");
}
}

1 comentario:

 

Contador de visitas