| | |
| | | public class NumeroPrimo { |
| | | public boolean isPrimo(int numero) { |
| | | if(numero <= 1) { |
| | | if (numero <= 1) { |
| | | return false; |
| | | } |
| | | for(int i = 2; i <= Math.sqrt(numero); i++) { |
| | | if(numero % i == 0) { |
| | | if (numero % 2 == 0) { |
| | | return false; |
| | | } |
| | | for (int i = 3; i <= Math.sqrt(numero); i += 2) { |
| | | if (numero % i == 0) { |
| | | return false; |
| | | } |
| | | } |
| | |
| | | NumeroPrimo np = new NumeroPrimo(); |
| | | |
| | | int limite = Integer.parseInt(args[0]); |
| | | |
| | | |
| | | long startTime = System.nanoTime(); |
| | | int conta = 1; |
| | | for(int i = 1; i <= limite; i++) { |
| | | if(np.isPrimo(i)) { |
| | | System.out.println(conta + " " + i ); |
| | | for (int i = 3; i <= limite; i += 2) { |
| | | if (np.isPrimo(i)) { |
| | | System.out.println(conta + " " + i); |
| | | conta++; |
| | | } |
| | | } |
| | | |
| | | long endTime = System.nanoTime(); // ⏱️ Fine |
| | | |
| | | long duration = endTime - startTime; // in nanosecondi |
| | | System.out.println("Tempo di esecuzione: " + (duration / 1_000_000) + " ms"); |
| | | } |
| | | } |