Scelta dell'algoritmo ottimale in JavaScript
A volte il problema del codice può essere legato al fatto che non è stata scelta la soluzione più ottimale per il problema.
Supponiamo, ad esempio, di avere il compito
di trovare la somma dei numeri interi da 1 a 1000000.
Risolviamo il compito assegnato:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Cosa c'è che non va? Il fatto è che per risolvere il compito assegnato esiste una soluzione matematica.
Questa soluzione richiede praticamente nessuna risorsa! Programmiamola:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Morale: prima di risolvere un compito ad alta intensità di risorse controlla sempre se non esiste una formula matematica già pronta o un approccio matematico pronto per la sua soluzione.
Trova il numero di numeri divisibili senza resto
per 5, nell'intervallo da 1 a
1000.
Trova il numero di cifre che saranno necessarie
per scrivere tutti i numeri da 1 a 1000000.