কম্পিউটার

ট্রিপলেট গণনা করুন যাতে একটি সংখ্যা C++ এ অন্য দুটির যোগফল হিসেবে লেখা যায়


আমাদের এন দৈর্ঘ্য সহ পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়েছে। লক্ষ্য হল ট্রিপলেটের সংখ্যা (Arr[i],Arr[j],Arr[k]) খুঁজে বের করা যাতে যেকোনো দুটি সংখ্যার যোগফল তৃতীয় সংখ্যার সমান হয়।

a+b=c, যেখানে a,b,c হল Arr[]-এর উপাদান i,j,k সূচী সহ যাতে 0<=i

ইনপুট

arr[]= { 1,2,2,3,4 }, N=5

আউটপুট

Number of triplets: 4

ব্যাখ্যা

arr[x]+arr[y]=arr[z]।

সহ ট্রিপলেট
Arr{}=[ 1,2,2,3,4 ] =(1,2,3) → 1+2=3
Arr{}=[ 1,2,2,3,4 ] =(1,2,3) → 1+2=3
Arr{}=[ 1,2,2,3,4 ] =(1,3,4) → 1+3=4
Arr{}=[ 1,2,2,3,4 ] =(2,2,4) → 2+2=4

মোট ট্রিপলেট:4

ইনপুট

arr[]= {2,2,2,2,2}, N=5

আউটপুট

Number of triplets: 0

ব্যাখ্যা

প্রতিটি দুটি সংখ্যার যোগফল=4 যা তৃতীয়=2 এর সমান নয়।

মোট ট্রিপলেট:0

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • আমরা একটি পূর্ণসংখ্যার অ্যারে নিই Arr[] এলোমেলো সংখ্যার সাথে শুরু।

  • ভেরিয়েবল N Arr[] এর দৈর্ঘ্য সঞ্চয় করে।

  • ফাংশন countTriplets(int arr[],int n) একটি অ্যারে নেয়, এর দৈর্ঘ্য ট্রিপলেটগুলি প্রদান করে যার মধ্যে একটি সংখ্যাকে অন্য দুটির যোগফল হিসাবে লেখা যেতে পারে

  • ট্রিপলেটের সংখ্যার জন্য প্রাথমিক পরিবর্তনশীল গণনাকে 0 হিসাবে নিন।

  • ট্রিপলেটের প্রতিটি উপাদানের জন্য তিনটি লুপ ব্যবহার করে ট্রাভার্স অ্যারে।

  • 0<=i

  • arr[i]+arr[j]==arr[k] বা arr[i]+arr[k]==arr[j] বা arr[k]+arr[j]==arr[i] হলে চেক করুন সত্য তারপর বৃদ্ধির সংখ্যা।

  • সমস্ত লুপ গণনার শেষে শর্ত পূরণকারী মোট ট্রিপলেট সংখ্যা থাকবে।

  • ফলাফল হিসাবে গণনা ফেরত দিন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int countTriplets(int arr[], int n){
   int count = 0;
   for (int i = 0; i < n-2; i++){
      for (int j = i+1; j < n-1; j++){
         for (int k = j+1; k < n; k++){
            if(arr[i]+arr[j]==arr[k] || arr[j]+arr[k]==arr[i] || arr[k]+arr[i]==arr[j]){                   count++;
             }
         }
      }
   }
   return count;
}
int main(){
   int Arr[]={ 1,2,2,3,4 };
   int N=5; //length of array
   cout <<endl<< "Number of triplets : "<<countTriplets(Arr,N);
   return 0;
}

আউটপুট

Number of triplets : 4

  1. একটি 2 x n গ্রিডে সর্বাধিক যোগফল যাতে C++ এ দুটি উপাদান সংলগ্ন থাকে না

  2. অ্যারে উপাদানগুলি গণনা করুন যা C++ এ অন্যান্য সমস্ত উপাদানের যোগফলকে ভাগ করে

  3. C++ এ তৃতীয় উপাদানের সমান দুইটির সমষ্টির মতো একটি ট্রিপলেট খুঁজুন

  4. একটি সংখ্যাকে C++ এ দুটি প্রচুর সংখ্যার যোগফল হিসাবে প্রকাশ করা যায় কিনা তা পরীক্ষা করুন