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:

javascriptlet 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:

javascriptlet 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.

Задание 1

Nađite broj brojeva koji se dele bez ostatka sa 5, iz intervala od 1 do 1000.

Задание 2

Nađite broj cifara koji će biti potreban, da se zapišu svi brojevi od 1 do 1000000.