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!");
}
}
}