Výber optimálneho algoritmu v JavaScripte
Niekedy môže byť problém kódu spojený s tým, že nebolo zvolené najoptimálnejšie riešenie úlohy.
Predpokladajme napríklad, že pred nami stojí úloha
nájdenia súčtu celých čísel od 1 do 1000000.
Vyriešme zadanú úlohu:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Čo je teda zlé? Ide o to, že na riešenie tejto úlohy existuje matematické riešenie.
Toto riešenie prakticky nevyžaduje žiadne zdroje! Naprogramujme ho:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Poučenie: pred riešením náročnej úlohy sa vždy uistite, či pre jej riešenie neexistuje hotový matematický vzorec alebo hotový matematický prístup.
Nájdite počet čísel deliteľných bezo zvyšku
5 z intervalu od 1 do
1000.
Nájdite počet číslic, ktoré budú potrebné
na zapísanie všetkých čísel od 1 do 1000000.