Optimāla algoritma izvēle JavaScript

Dažreiz koda problēma var būt saistīta ar to, ka ir izvēlēts nevis optimālākais problēmas risinājums.

Pieņemsim, ka mums ir uzdevums atrast veselu skaitļu summu no 1 līdz 1000000. Atrisināsim uzdevumu:

javascriptlet sum = 0;

for (let i = 1; i <= 1000000; i++) {
  sum += i;
}
  
console.log(sum);

Kas tad ir nepareizi? Lieta tāda, ka šīs problēmas risināšanai pastāv matemātisks risinājums.

Šis risinājums praktiski neprasa resursus! Ieprogrammēsim to:

javascriptlet n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);

Moral: pirms resursietilpīga uzdevuma risināšanas noteikti pārbaudiet, vai tam nav gatavas matemātiskas formulas vai gatavas matemātiskas pieejas.

Задание 1

Atrodiet skaitļu daudzumu, kas dalās bez atlikuma ar 5, no intervāla no 1 līdz 1000.

Задание 2

Atrodiet ciparu daudzumu, kas būs nepieciešams, lai pierakstītu visus skaitļus no 1 līdz 1000000.