কম্পিউটার

C++ এ প্রদত্ত অ্যারে থেকে মৌলিক সংখ্যা যোগ করে পাওয়া যায় এমন স্বতন্ত্র রাশির গণনা


আমাদেরকে প্রাইম এবং নন প্রাইম সংখ্যা সম্বলিত দুটি অ্যারে দেওয়া হয়েছে। লক্ষ্য হল প্রতিটি অ্যারেতে মৌলিক সংখ্যার জোড়ার স্বতন্ত্র যোগফলের গণনা করা।

আমরা প্রতিটি অ্যারে থেকে দুটি প্রাইমের জোড়া তৈরি করে এটি করব, তাদের যোগফল নিব এবং সেগুলিকে যোগফল সেটে যোগ করব। শেষ পর্যন্ত সেটের আকার হল মৌলিক সংখ্যার স্বতন্ত্র যোগফলের সংখ্যা।

উদাহরণ দিয়ে বোঝা যাক।

ইনপুট

Arr1[] = { 1,2,3 } Arr2[] = { 2,3,4}

আউটপুট

Distinct Sums of primes :3

ব্যাখ্যা

Prime pairs (2,2), (2,3), (3,2), (3,3).
Unique sums are 4,5,6

ইনপুট

Arr1[] = { 1,4,6 } Arr2[] = { 2,3,5 }

আউটপুট

Distinct Sums of primes :0

ব্যাখ্যা

Arr1[] has no prime number. Prime pairs do not exist.

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

  • আমাদের কাছে ধনাত্মক সংখ্যার জন্য Arr1[] এবং Arr2[] দুটি অ্যারে রয়েছে এবং তাদের দৈর্ঘ্য হিসাবে len1 এবং len2 রয়েছে।

  • ফাংশন isprime(int num) 1 প্রদান করে যদি num প্রাইম হয় অন্যথায় 0 প্রদান করে।

  • ফাংশন prime_Sums(int arr1[],int arr2[],int l1,int l2) উভয় অ্যারে নেয় এবং প্রাইম জোড়ার স্বতন্ত্র যোগফলের গণনা প্রদান করে।

  • স্বতন্ত্র যোগফল সংরক্ষণ করতে একটি সেট যোগফল নিন।

  • লুপের জন্য usin উভয় অ্যারের প্রতিটি উপাদান অতিক্রম করুন।

  • isprime(arr1[i]) &&isprime(arr2[j]) কিনা চেক করুন। সত্য হলে, tmp=arr1[i]+arr2[j] হিসাবে যোগফল নিন।

  • sum.insert(tmp)

    ব্যবহার করে সেট করতে tmp যোগ করুন
  • শেষে sum.size() প্রদান করুন যা মৌলিক সংখ্যার স্বতন্ত্র যোগফল।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
int isprime(int num){
   if (num <= 1)
      return 0;
   for (int i = 2; i <= num/2; i++)
      if (num % i == 0)
         return 0;
   return 1; //if both failed then num is prime
}
int prime_Sums(int arr1[],int arr2[],int l1,int l2){
   int count=0;
   set sum;
   for (int i = 0; i < l1; i++){
      for(int j=0; j < l2; j++){
         if(isprime(arr1[i]) && isprime(arr2[j])){
            int tmp=arr1[i]+arr2[j];
            sum.insert(tmp);
         }
      }
   }
   return sum.size();
}
int main(){
   int Arr1[] = { 2, 3, 5 };
   int Arr2[] = { 2, 2, 4, 7 };
   int len1=sizeof(Arr1) / sizeof(Arr1[0]);
   int len2=sizeof(Arr2) / sizeof(Arr2[0]);
   cout<<"Distinct Sums of primes :"<<prime_Sums(Arr1,Arr2,len1,len2);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of ways to spell a number with repeated digits are: 16

  1. 1 থেকে n পর্যন্ত সংখ্যাগুলি গণনা করুন যেগুলির সংখ্যা C++ এ 4 আছে

  2. C++ এ N সংখ্যার একটি প্রদত্ত অ্যারে থেকে K সংখ্যা দ্বারা গঠিত হতে পারে এমন সমস্ত স্বতন্ত্র পূর্ণসংখ্যা মুদ্রণ করুন

  3. C++ এ প্রদত্ত তিনটি সাজানো অ্যারে থেকে তিনটি নিকটতম উপাদান খুঁজুন

  4. C++ এ 1 থেকে N পর্যন্ত প্রায় প্রাইম সংখ্যার গণনা খুঁজুন