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

Գտեք 5-ի վրա առանց մնացորդի բաժանվող թվերի քանակը 1-ից մինչև 1000 միջակայքում:

Задание 2

Գտեք այն թվանշանների քանակը, որոնք անհրաժեշտ կլինեն 1-ից մինչև 1000000 բոլոր թվերը գրելու համար: