Избор оптималног алгоритма у JavaScript-у

Понекад проблем у коду може бити повезан са тим што није изабрано најоптималније решење задатка.

Рецимо да је пред нама задатак да пронађемо збир целих бројева од 1 до 1000000. Решимо постављени задатак:

javascriptlet sum = 0;

for (let i = 1; i <= 1000000; i++) {
  sum += i;
}
  
console.log(sum);

Шта није у реду? Поента је у томе што за решавање овог задатка постоји математичко решење.

Ово решење практично не захтева ресурсе! Програмирајмо га:

javascriptlet n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);

Поука: пре решавања задатка захтевног по ресурсе увек проверите да ли за његово решавање постоји готова математичка формула или готов математички приступ.

Задание 1

Пронађите колико бројева, дељивих без остатка са 5, постоји у интервалу од 1 до 1000.

Задание 2

Пронађите колико ће цифара бити потребно да се запишу сви бројеви од 1 до 1000000.