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.