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:

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

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

Задание 1

Najděte počet čísel, která jsou beze zbytku dělitelná 5, z intervalu od 1 do 1000.

Задание 2

Najděte počet číslic, které budou potřeba k zapsání všech čísel od 1 do 1000000.