এই প্রোগ্রামে অ্যারেতি উপাদানগুলোর বিকল্পভাবে গুণ করে তারপর যোগফল বের করা হয়।
উদাহরণ
arr = [1, 2, 4, 1, 2, 3, 4, 3] // (1×2) + (4×1) + (2×3) + (4×3) // = 2 + 4 + 6 + 12 // = 24
সমাধান
const alternateOperation = (arr) => {
let sum = 0;
for (let i = 0; i < arr.length; i += 2) {
const first = arr[i];
const second = arr[i + 1] || 1; // শেষে একক উপাদান থাকলে ১ দিয়ে গুণ
sum += first * second;
}
return sum;
};
// ফাংশনাল স্টাইল
const alternateOperationFP = (arr) => {
return arr
.filter((_, i) => i % 2 === 0) // জোড় ইন্ডেক্স
.reduce((sum, val, idx) => {
const pairIndex = idx * 2 + 1;
const multiplier = arr[pairIndex] || 1;
return sum + val * multiplier;
}, 0);
};
// টেস্ট
const arr = [1, 2, 4, 1, 2, 3, 4, 3];
console.log(alternateOperation(arr)); // 24
console.log(alternateOperationFP(arr)); // 24
// অড দৈর্ঘ্যের অ্যারে
console.log(alternateOperation([1, 2, 3])); // 1*2 + 3*1 = 5
ব্যবহারিক উদাহরণ
এই প্যাটার্ন প্রায়ই ব্যবহার হয়:
- ভেক্টর ডট প্রোডাক্ট
- পলিনোমিয়াল ইভ্যালুয়েশন
- সিগন্যাল প্রসেসিং
উৎপাদন
24