কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে অ্যারেতে সম্ভাব্য AP-এর সংখ্যা গণনা


arithematic progression

Arithmetic Progression (AP) হল একটি সংখ্যা সিকোয়েন্স যাতে যেকোনো দুটি সংলগ্ন সংখ্যার পার্থক্য একটি কনস্টান্ট মান থাকে (যাকে common difference বলা হয়)।

উদাহরণস্বরূপ, 1, 2, 3, 4, 5, 6,… একটি AP যার common difference ১ (2-1)।

সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি পূর্ণসংখ্যার অ্যারে arr প্রথম ও একমাত্র আর্গুমেন্ট হিসেবে নেবে।

ফাংশনটির কাজ হল সেই লিস্ট থেকে সাইজ ৩ এর কতগুলো arithmetic progression সম্ভব তা সংখ্যা ফেরত দেয়া। প্রতিটি প্রগ্রেশনে উপাদানগুলোর পার্থক্য একই হতে হবে। আমরা গ্যারান্টি পাচ্ছি যে ইনপুট অ্যারেটি ক্রমবর্ধমান ক্রমে সর্টেড থাকবে।

উদাহরণস্বরূপ, যদি ইনপুট হয় –

ইনপুট

const arr = [1, 2, 3, 5, 7, 9];

আউটপুট

const output = 5;

আউটপুট ব্যাখ্যা

কারণ 아직도 AP-গুলো হল –

[1, 2, 3], [1, 3, 5], [1, 5, 9], [3, 5, 7] and [5, 7, 9]

উদাহরণ

নিচে কোডটি দেওয়া হল –

const arr = [1, 2, 3, 5, 7, 9]; 
const countAP = (arr = []) => { 
  let i, j, k; 
  let { length: len } = arr; 
  let count = 0; 
  for (i = 0; i < len - 2; i++) { 
    for (k = i + 2; k < len; k++) { 
      let temp = arr[i] + arr[k]; 
      let div = temp / 2; 
      if ((div * 2) == temp) { 
        for (j = i + 1; j < k; j++) { 
          if (arr[j] == div) { 
            count += 1; 
          } 
        } 
      } 
    } 
  } 
  return count; 
}; 
console.log(countAP(arr));

আউটপুট

5

  1. জাভাস্ক্রিপ্ট array.values() মেথড

  2. জাভাস্ক্রিপ্ট array.flatMap() মেথড

  3. জাভাস্ক্রিপ্ট Array slice() মেথড

  4. জাভাস্ক্রিপ্ট Array shift() মেথড