Optimaalse algoritmi valimine JavaScriptis
Mõnikord võib koodi probleem olla seotud sellega, et ülesande lahendamiseks ei ole valitud kõige optimaalsemat lahendust.
Oletame, et meie ees on ülesanne leida
täisarvude summa 1-st 1000000-ni.
Lahendame püstitatud ülesande:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
Mis siis viga on? Asi on selles, et selle ülesande lahendamiseks on olemas matemaatiline lahendus.
See lahendus ei nõua praktiliselt ressursse! Programmeerime selle:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
Moraal: enne ressursimahuka ülesande lahendamist kontrollige kindlasti, kas selle lahendamiseks ei ole olemas valmis matemaatilist valemit või valmis matemaatilist lähenemist.
Leidke arvude hulk, mis jaguvad ilma jäägita
5-ga, vahemikus 1 kuni
1000.
Leidke numbrite arv, mida on vaja
kõikide arvude kirjutamiseks 1-st 1000000-ni.