কম্পিউটার

C++ এ একটি অ্যারেতে প্রাইম সংখ্যা গণনা করুন


আমাদের সংখ্যার অ্যারে দেওয়া হয়েছে৷ লক্ষ্য হল সেই অ্যারেতে মৌলিক সংখ্যার গণনা করা।

একটি মৌলিক সংখ্যা হল একটি যা 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

  1. C++ এ একটি আয়তক্ষেত্রে বর্গক্ষেত্রের সংখ্যা গণনা করুন

  2. C++ এ Mersenne প্রাইম নম্বর।

  3. একটি সংখ্যা C++ এ ফুল প্রাইম কিনা তা পরীক্ষা করুন

  4. C++ এ সেট বিটের গণনা অনুসারে একটি অ্যারে সাজান