Un numero primo è un numero naturale maggiore di 1 e divisibile interamente ( cioè senza resto ) esclusivamente da 1 e da se stesso. Si scriva un programma che determini se un certo numero dato in input soddisfi o meno questa condizione di primalità.
Questo è il codice:
class Numero_primo{ //verificare se un numero è primo o no
public static void main(String [] args){
int numero=634763; //questo è il numero che ci chiediamo se è primo o no
System.out.println("Il numero "+numero+" è primo? "+primo(numero));
}
public static boolean primo(int n){ //questo metodo restituisce true se il numero n è primo
if (n<2) //il primo numero primo è il 2, quindi se abbiamo unnumero minore a 2 allora non sarà primo
return false;
if (n<=3) //se il numero in questione è minore o uguale a 3 allora a questo punto si tratta del 2 o del 3, entrambi primi
return true;
if (n%2==0) //se dividendo per 2 il numero si ha resto uguale a zero allora è un numero pari (maggiore a 2) quindi primo
return false;
for (int i=3;i<n;i=i+2){ /* si fa un ciclo partendo con i che da 3 assume i numeri dispari minori al numero da esaminare n, non serve controllare con i numeri pari perchè n non è pari */
if ( n%i==0) // se n dovesse essere divisibile per un qualche i allora non è primo
return false;
}
return true; //se si è giunti fin qui allora il numero n è primo
}
}
for (int i=3;i<n/2+1;i=i+2){...}
RispondiEliminahai scritto male bro....cojone
RispondiElimina