Избор на оптимален алгоритам во JavaScript
Понекогаш проблемот со кодот може да биде поврзан со тоа што е избрано не најоптималното решение на задачата.
Да претпоставиме, на пример, дека ни е поставена задачата
да го најдеме збирот на цели броеви од 1 до 1000000.
Да ја решиме поставената задача:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Што не е во ред? Работи се во тоа што за решавање на поставената задача постои математичко решение.
Ова решение практично не бара ресурси! Да го програмираме:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Морал: пред решавање на задача која бара многу ресурси задолжително проверете дали не постои готовa математичкa формулa или готов математички пристап за нејзино решавање.
Најдете го бројот на броеви кои се делат без остаток
на 5, од интервалот од 1 до
1000.
Најдете го бројот на цифри кои ќе бидат потребни,
за да се запишат сите броеви од 1 до 1000000.