ოპტიმალური ალგორითმის არჩევა JavaScript-ში
ზოგჯერ კოდის პრობლემა დაკავშირებულია იმასთან, რომ ამოცანის ამოსახსნელად არჩეულია არა ყველაზე ოპტიმალური გზა.
დავუშვათ, მაგალითად, ჩვენ წინაშე დგას ამოცანა
ვიპოვოთ მთელი რიცხვების ჯამი 1-დან 1000000-მდე.
მოდით, ამოვიცნათ დასახული ამოცანა:
let sum = 0;
for (let i = 1; i <= 1000000; i++) {
sum += i;
}
console.log(sum);
რა არის სწორი? საქმე იმაშია, რომ ამ ამოცანის ამოსახსნელად არსებობს მათემატიკური ამოხსნა.
ეს ამოხსნა პრაქტიკულად არ საჭიროებს რესურსებს! მოდით, დავპროგრამოთ იგი:
let n = 1000000;
let sum = n * (n + 1) / 2;
console.log(sum);
მორალი: რესურსისმოთხოვნიანი ამოცანის ამოხსნამდე აუცილებლად შეამოწმეთ, არსებობს თუ არა მისი ამოსახსნელად მზა მათემატიკური ფორმულა ან მზა მათემატიკური მიდგომა.
იპოვეთ რიცხვების რაოდენობა, რომლებიც იყოფა ნაშთის გარეშე
5-ზე, 1-დან
1000-მდე ინტერვალში.
იპოვეთ ციფრების რაოდენობა, რომელიც დაგჭირდებათ,
რათა ჩაწეროთ ყველა რიცხვი 1-დან 1000000-მდე.