Избор на оптимален алгоритъм в 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);
Моралът: преди решаването на ресурсоемка задача задължително проверявайте дали няма готова математическа формула или готов математически подход за нейното решаване.
Намерете броя на числата, които се делят без остатък
на 5, от интервала от 1 до
1000.
Намерете броя на цифрите, които ще са необходими,
за да се запишат всички числа от 1 до 1000000.