package esercitazione1; import java.util.Scanner; public class Esercizio3alt { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("Entro quale numero N vuoi che siano trovati i numeri primi?"); int n = in.nextInt(); System.out.println("I numeri primi compresi tra 1 e " + n + " sono:"); if (n > 0) { System.out.println(1); } if (n > 1) { System.out.println(2); } if (n > 2) { int num = 3; // 1 e 2 li ho già stampati int i; boolean isPrime; while (num <= n) { // finchè non arrivo a N i = 2; isPrime = true; while (i < num) { // devo dividere il numero corrente (num) per tutti i numeri compresi fra 2 e se stesso - 1 if (num % i == 0) { isPrime = false; break; // è inutile continuare nel ciclo se ho già trovato un divisore } else { i++; } } if (isPrime) { // se non ho trovato divisori la variabile isPrime è rimasta true System.out.println(num); } num++; } } } }