Izbor optimalnog algoritma u JavaScript-u
Ponekad problem sa kodom može biti povezan sa tim, da je izabrano ne najoptimalnije rešenje zadatka.
Neka, na primer, pred nama stoji zadatak
da nađemo zbir celih brojeva od 1 do 1000000.
Rešimo postavljeni zadatak:
let zbir = 0;
for (let i = 1; i <= 1000000; i++) {
zbir += i;
}
console.log(zbir);
Šta je onda problem? Stvar je u tome, što za rešavanje postavljenog zadatka postoji matematičko rešenje.
Ovo rešenje praktično ne zahteva resurse! Programirajmo ga:
let n = 1000000;
let zbir = n * (n + 1) / 2;
console.log(zbir);
Poruka: pre rešavanja resursno zahtevnog zadatka obavezno proverite da li za njegovo rešavanje postoji gotova matematička formula ili gotov matematički pristup.
Nađite broj brojeva koji se dele bez ostatka
sa 5, iz intervala od 1 do
1000.
Nađite broj cifara koji će biti potreban,
da se zapišu svi brojevi od 1 do 1000000.