सरणी के औसत को खोजने में त्रुटि
सरणी तत्वों के अंकगणितीय माध्य को खोजने से संबंधित एक त्रुटि पर विचार करें। उदाहरण के लिए, मान लें कि हमारे पास निम्नलिखित सरणी दी गई है:
let arr = [1, 2, 3, 4, 5];
तत्वों का औसत खोजने के लिए, उनका योग ज्ञात करें और उसे संख्या से विभाजित करें। किसी प्रोग्रामर ने पहले से ही इस कार्य को निम्नलिखित तरीके से हल किया है:
let avg = 0;
for (let elem of arr) {
avg += elem / arr.length;
}
console.log(avg);
आइए इस समाधान की समस्याओं पर गौर करें। तकनीकी रूप से कोड सही ढंग से काम करता है और सही उत्तर देता है। तथ्य यह है कि गणितीय रूप से यह सही है कि पूरे योग को मात्रा से विभाजित किया जाए, और प्रत्येक पद को मात्रा से विभाजित किया जाए।
हालाँकि, एक और समस्या उत्पन्न होती है। तथ्य यह है कि हम विभाजन कितनी बार करेंगे जितने हमारी सरणी में तत्व हैं। और यह पता चलता है कि हम बहुत अधिक अनावश्यक संचालन कर रहे हैं, क्योंकि विभाजन अंत में किया जा सकता था - केवल एक बार, पूरे पाए गए योग को विभाजित करके।
आइए अपने कोड को अनुकूलित करें:
let sum = 0;
for (let elem of arr) {
sum += elem;
}
let avg = sum / arr.length;
console.log(avg);