Выбар аптымальнага алгарытму ў 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);
Маral: перад рашэннем рэсурсаёмістай задачы абавязкова правярайце, ці няма для яе рашэння гатовай матэматычнай формулы альбо гатовага матэматычнага падыходу.
Знайдзіце колькасць лікаў, якія дзяляцца без астатку
на 5, з прамежку ад 1 да
1000.
Знайдзіце колькасць лічбаў, якая спатрэбіцца,
каб запісаць усе лікі ад 1 да 1000000.