Números primos
Programa que pida un número n y muestre todos los números primos menores o iguales que él (todos los primos que hay entre 2 y n).
Además, calcula el tiempo que tarda el programa en hacer los cálculos usando dos métodos diferentes.
Fichero NumerosPrimos.java
import java.util.Scanner;
public class NumerosPrimos {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
long numero;
long n;
boolean esPrimo = true;
// String mensaje;
long inicio;
long tiempo;
System.out.print("Introduce un número: ");
numero = scanner.nextInt();
scanner.close();
inicio = System.currentTimeMillis();
for (n = 2; n < numero; n ++) {
esPrimo = true;
for (int i = 2; i <= Math.sqrt(n) && esPrimo; i ++) {
if ((n % i) == 0) {
esPrimo = false;
}
}
if (esPrimo) {
//System.out.println("El número " + n + " es primo");
}
}
tiempo = System.currentTimeMillis() - inicio;
System.out.println("Tiempo usando sqrt y esPrimo: " + tiempo + " ms.");
inicio = System.currentTimeMillis();
for (n = 2; n < numero; n ++) {
esPrimo = true;
for (int i = 2; i < n; i ++) {
if ((n % i) == 0) {
esPrimo = false;
}
}
if (esPrimo) {
//System.out.println("El número " + n + " es primo");
}
}
tiempo = System.currentTimeMillis() - inicio;
System.out.println("Tiempo sin usar sqrt: " + tiempo + " ms.");
}
}
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.