JavaScriptda optimal algoritmni tanlash

Ba'zan kod muammosi, masalani yechishda eng optimal yechim tanlanmaganligi bilan bog'liq bo'lishi mumkin.

Misol tariqasida, oldimizga 1 dan 1000000 gacha bo'lgan butun sonlar yig'indisini topish vazifasi qo'yilgan bo'lsin. Berilgan masalani yechamiz:

javascriptlet sum = 0;

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

Nima noto'g'ri? Gap shundaki, berilgan masala uchun matematik yechim mavjud.

Bu yechim deyarli hech qanday resurs talab qilmaydi! Uni dasturlashtiramiz:

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

Xulosa: resurs talab qiladigan masalani yechishdan oldin, uning yechimi uchun tayyor matematik formula yoki tayyor matematik yondashuv mavjudligini tekshirib ko'ring.

Задание 1

1 dan 1000 gacha bo'lgan oraliqda, 5 ga qoldiqsiz bo'linadigan sonlar sonini toping.

Задание 2

1 dan 1000000 gacha bo'lgan barcha sonlarni yozish uchun kerak bo'ladigan raqamlar sonini toping.