Výběr optimálního algoritmu v JavaScriptu
Někdy může být problém kódu spojen s tím, že bylo zvoleno ne nejoptimálnější řešení úlohy.
Předpokládejme například, že před námi stojí úkol
najít součet celých čísel od 1 do 1000000.
Pojďme zadaný úkol vyřešit:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Co je špatně? Jde o to, že pro řešení zadaného úkolu existuje matematické řešení.
Toto řešení prakticky nevyžaduje žádné zdroje! Naprogramujme jej:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Ponaučení: Před řešením náročné úlohy si vždy ověřte, zda pro její řešení neexistuje připravený matematický vzorec nebo připravený matematický přístup.
Najděte počet čísel, která jsou beze zbytku dělitelná
5, z intervalu od 1 do
1000.
Najděte počet číslic, které budou potřeba
k zapsání všech čísel od 1 do 1000000.