কম্পিউটার টিউটোরিয়াল

সি++-এ অ্যারেতে মৌলিক সংখ্যা (প্রাইম) গণনা

একটি সংখ্যার অ্যারে দেওয়া আছে। লক্ষ্য হল সেই অ্যারেতে কতগুলো মৌলিক সংখ্যা (prime number) আছে তা বের করা।

মৌলিক সংখ্যা হল যেটি শুধু ১ এবং নিজের দ্বারা বিভাজ্য। এর শুধু দুটি গুণনখণ্ড থাকে। প্রতিটি উপাদান চেক করা হয় মৌলিক কিনা।

N মৌলিক কিনা চেক করতে: 2 থেকে N/2 পর্যন্ত যেকোনো সংখ্যা N কে পুরোপুরি ভাগ করলে (N%i==0) অ-মৌলিক। অন্যথায় মৌলিক।

উদাহরণ

ইনপুট: arr[] = { 1,2,3,4,5,6,7,8,9 }

আউটপুট: মৌলিক সংখ্যার গণনা: ৪

ব্যাখ্যা: ২, ৩, ৫, ৭ মৌলিক। ১, ৪, ৬, ৮, ৯ অ-মৌলিক।

ইনপুট: arr[] = { 11,12,4,61,23 }

আউটপুট: মৌলিক সংখ্যার গণনা: ৩

ব্যাখ্যা: ১১, ৬১, ২৩ মৌলিক। ১২, ৪ অ-মৌলিক।

অ্যাপ্রোচ

  • ইন্টিজার অ্যারে arr[] নেওয়া হয়।
  • checkPrime(int num) ফাংশন num মৌলিক কিনা চেক করে। মৌলিক হলে ১, নয় হলে ০ রিটার্ন।
  • num <= 1 হলে অ-মৌলিক, ০ রিটার্ন।
  • for লুপে j=2 থেকে num/2 পর্যন্ত: num%j==0 হলে ০ রিটার্ন।
  • এলস ১ রিটার্ন।
  • isprime ভেরিয়েবলে ফলাফল। count-এ মৌলিক সংখ্যা সংরক্ষণ।
  • মেইন-এ অ্যারে ট্রাভার্স করে প্রতিটি উপাদান checkPrime()-এ পাস করা হয়। isprime==1 হলে count++।

উদাহরণ কোড

#include <bits/stdc++.h>
using namespace std;

int checkPrime(int num) {
    if (num <= 1) return 0;
    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, 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. সি++-এ আয়তক্ষেত্রে বর্গের সংখ্যা গণনা

  2. C++ ব্যবহার করে মেরসেন প্রাইম সংখ্যা বের করা

  3. C++ প্রোগ্রাম: ফুল প্রাইম (Full Prime) চেক করা

  4. C++-এ সেট বিট কাউন্ট অনুযায়ী অ্যারে সর্ট করা