Il programma utilizza l'algoritmo più elementare per verificare se un numero è primo: calcola semplicemente il resto della divisione del numero per tutti i naturali che lo precedono controllando se è zero per qualche valore (allora il numero non è primo), oppure se è sempre diverso da zero (nel qual caso il numero è primo). Non si tratta ovviamente di un algoritmo efficiente, ma lo scopo che qui ci proponiamo è più "informatico" che matematico: l'implementazione ci permetterà di scoprire nuove caratteristiche di javascript.
Tutto il lavoro viene fatto da questa funzione.
function controlla() {
var numero =
parseInt(document.getElementById('numero').value);
if (isNaN(numero) || numero<1) {
document.getElementById('risultato').value=(document.getElementById('numero').value
+ " non è un oggetto valido per questo
calcolo!!!");
}
if (numero = = 1) {
document.getElementById('risultato').value=("Qualcuno
ritiene che 1 sia primo, qualcuno no, ma non c'era bisogno
di chiedermelo!!");
}
if (numero = = 2) {
document.getElementById('risultato').value=("2
è un numero primo, ma non c'era bisogno di
chiedermelo!!");
}
for (var i=2;i<numero;i++) {
if (numero % i = = 0) {
document.getElementById('risultato').value=(numero
+ " non è primo. E\' divisibile per " + i +
".");
break;
}
if (numero % i != 0) {
document.getElementById('risultato').value=(numero
+ " è primo!");
}
}
}