Numeri primi in JavaScript

In questa lezione svilupperemo un algoritmo sui numeri primi in JavaScript.

Ricordiamo innanzitutto che un numero è primo quando ha due divisori, cioè 1 e se stesso.

La successione dei numeri primi comincia con 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, …

Anche in altri linguaggi di programmazione abbiamo sviluppato lo stesso algoritmo, potete guardare, se vi interessa, l’implementazione ai seguenti link:

Algoritmo sui numeri primi in linguaggio C;

Verificare se un numero è primo in linguaggio C++;

Come realizzare un algoritmo sui numeri primi in Python.

Realizziamo un algoritmo sui numeri primi in JavaScript

Verificare se un numero preso in input è primo.

Per verificare se un numero è primo occorre utilizzare un divisore che di volta in volta si incrementa di 1.

In definitiva comincio a dividere il numero preso in input, prima per 1, poi per 2, poi per 3, ecc..

Chiaramente per poter fare questo devo utilizzare un ciclo, facendo incrementare il divisore di 1, dopo ogni iterazione.

Dunque se ad esempio il numero fosse 3 allora prima lo dividerei per 1, poi per 2 e poi per 3. Contemporaneamente posso contare i divisori utilizzando una variabile apposita, ad esempio di nome conta.

Se alla fine abbiamo trovato 2 divisori, cioè 1 ed il numero stesso, in tal caso la variabile conta varrà 2, allora il numero è primo. Altrimenti il numero non è primo.

Ma possiamo fare di meglio. Possiamo considerare che il divisore si può fermare alla metà del numero stesso in quanto è scontato che dividendo un numero per un valore maggiore della sua metà si ottiene un numero decimale. Quindi possiamo contare un solo divisore per definire che un numero è primo.

Dunque ecco una possibile soluzione all’algoritmo sui numeri primi realizzato in JavaScript:

<!DOCTYPE html>
<html lang="it">
<head>
<title>Coding Creativo</title>
<script type="text/javascript">
	
   var n = prompt('Inserisci un numero: ');
   while (n < 0){
	n = prompt('Inserisci un numero: ');
    }
	
    var div=1;
    var conta=0;
	
    while(conta<=1 && div<=n/2) {
	if(n%div==0)  {
		conta++;	
	}
	div++;
    }
	
    if (conta==1){
	document.write('Il numero è primo ');
    }   
    else {
	 document.write('Il numero non è primo ');
    }
	
</script>
</head>

<body>


</body>
</html>

Chiaramente questa è solo una possibile soluzione dell’algoritmo sui numeri primi in JavaScript, proponete pure la vostra e discutiamone nei commenti sotto.

Alcuni link utili

Indice tutorial JavaScript

Introduzione al tutorial JavaScript

Il linguaggio JavaScript

Come utilizzare JavaScript alert

Come utilizzare JavaScript confirm

Utilizzare JavaScript prompt

Variabili in JavaScript

JavaScript substring

Creare elementi nel Dom con JavaScript

Autore dell'articolo: Cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *