JavaScript-də optimal alqoritmin seçimi

Bəzən kod probleminin səbəbi, problemin həlli üçün ən optimal metodun seçilməməsidir.

Tutaq ki, qarşımızda 1-dən 1000000-a qədər tam ədədlərin cəmini tapmaq vəzifəsi qoyulub. Gəlin verilmiş problemi həll edək:

javascriptlet sum = 0;

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

Bəs onda nə problem var? Məsələ burasındadır ki, bu problemi həll etmək üçün riyazi həll mövcuddur.

Bu həll demək olar ki, heç bir resurs tələb etmir! Gəlin onu proqramlaşdıraq:

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

Əxlaq: Resurs tələb edən bir problemi həll etməzdən əvvəl, mütləq yoxlayın ki, onun həlli üçün hazır riyazi düstur və ya hazır riyazi yanaşma mövcuddurmu.

Задание 1

1-dən 1000-a qədər olan ədədlər arasında 5-ə qalıqsız bölünən ədədlərin sayını tapın.

Задание 2

1-dən 1000000-a qədər olan bütün ədədləri yazmaq üçün lazım olan rəqəmlərin sayını tapın.