আমাদের সংখ্যার অ্যারে দেওয়া হয়েছে৷ লক্ষ্য হল সেই অ্যারেতে মৌলিক সংখ্যার গণনা করা।
একটি মৌলিক সংখ্যা হল একটি যা 1 দ্বারা বিভাজ্য এবং সংখ্যাটি নিজেই। এটা শুধুমাত্র দুটি কারণ আছে. আমরা প্রথম উপাদান থেকে শেষ পর্যন্ত সংখ্যাটি প্রাইম কিনা তা পরীক্ষা করব এবং এ পর্যন্ত পাওয়া মৌলিক সংখ্যার সংখ্যা বৃদ্ধি করব।
N সংখ্যাটি প্রাইম কিনা তা পরীক্ষা করতে, পরিসর [2 থেকে N/2] এর মধ্যে সংখ্যাগুলি সম্পূর্ণরূপে N কে ভাগ করে কিনা তা পরীক্ষা করুন। যদি হ্যাঁ হয় তবে এটি অ-প্রাইম। অন্যথায় এটি প্রধান।
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট − arr[]={ 1,2,3,4,5,6,7,8,9 }
আউটপুট − মৌলিক সংখ্যার সংখ্যা − 4
ব্যাখ্যা − এখানে 2,3,5,7 হল প্রাইম এবং 1,4,6,8,9 হল নন-প্রাইম৷
ইনপুট − arr[]={ 11,12,4,61,23 }
আউটপুট − মৌলিক সংখ্যার সংখ্যা − 3
ব্যাখ্যা − এখানে 11,61,23টি প্রাইম এবং 12,4টি নন-প্রাইম৷
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
আমরা একটি পূর্ণসংখ্যা অ্যারে অ্যারে নিই[] যাতে এলোমেলো সংখ্যা থাকে।
-
ফাংশন checkPrime(int num) পরীক্ষা করে যে পাস করা নম্বরটি প্রাইম কিনা। যদি এটি প্রাইম হয়, এটি 1 প্রদান করে অন্যথায় এটি 0 প্রদান করে।
-
যদি সংখ্যাটি <=1 হয় তবে এটি নন প্রাইম, 0 ফেরত দিন।
-
এখন 2 থেকে num/2 থেকে শুরু করে যদি কোনো সংখ্যা num ( num%i==0) কে সম্পূর্ণভাবে ভাগ করে তাহলে num হল নন-প্রাইম, রিটার্ন 0।
-
অন্যথায় রিটার্ন 1.
-
ভেরিয়েবল isprime বলে যে সংখ্যা মৌলিক কি না ( 1 মানে মৌলিক)
-
পরিবর্তনশীল গণনা arr[>
এ প্রাইম সংখ্যা সংরক্ষণ করে -
মূল ট্রাভার্স পুরো অ্যারের ভিতরে এবং প্রতিটি উপাদান arr[i] কে প্রাইম( arr[i]) চেক করতে পাস করুন, যদি এর ফলাফল 1 ( isprime==1 ) হয় তাহলে সংখ্যা বৃদ্ধি করুন।
-
শেষে গণনা হল arr[>
এ প্রাইম সংখ্যা
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
// Function to find if number is prime
int checkPrime(int num){
if (num <= 1)
{ return 0; }
// Check from 2 to half of arr[i]
for (int j = 2; j <= num/2; j++){
if (num % j == 0){
return 0;
}
return 1;
}
}
int main(){
int arr[] = { 1,3,5,4,8,13,11 };
int n = 7;
int count=0;
int isprime=0;
for(int i=0;i<n;i++){
isprime=checkPrime(arr[i]);
if(isprime==1)
count++;
}
cout<<"Count of number of primes in array : "<<count;
return 0;
} আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of number of primes in array : 4