import javax.swing.JOptionPane; public class PrimoEDivisore { public static void main(String[] args) { int n, divisore; n = Integer.parseInt(JOptionPane.showInputDialog("Digita un intero positivo")); divisore = 2; boolean conResto = true; int radiceN = (int) Math.sqrt(n); while(conResto && (divisore <= radiceN)) { if((n%divisore) == 0) conResto = false; divisore++; } if(conResto) JOptionPane.showMessageDialog(null, "Il numero " + n + " e' primo"); else { JOptionPane.showMessageDialog(null, "Il numero " + n + " e' composto,\ninfatti e' divisibile per " + (divisore - 1)); // System.out.print(n + " e' composto"); /* poiche' la variabile divisore viene incrementata anche quando il resto e' zero, il vero divisore e' dato, dopo l'esecuzione del ciclo, da (divisore - 1) */ // System.out.println(" poiche' e' divisibile per " + (divisore - 1)); } System.exit(0); } }