আমাদেরকে প্রাইম এবং নন প্রাইম সংখ্যা সম্বলিত দুটি অ্যারে দেওয়া হয়েছে। লক্ষ্য হল প্রতিটি অ্যারেতে মৌলিক সংখ্যার জোড়ার স্বতন্ত্র যোগফলের গণনা করা।
আমরা প্রতিটি অ্যারে থেকে দুটি প্রাইমের জোড়া তৈরি করে এটি করব, তাদের যোগফল নিব এবং সেগুলিকে
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট
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