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

1 ден 1000 га чейинки аралыкта 5 ке калдыксыз бөлүнгөн сандардын санын табыңыз.

Задание 2

1 ден 1000000 га чейинки бардык сандарды жазүү үчүн канча сандык белги керек экендигин табыңыз.