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

C++-এ রিকারসিভ প্রোগ্রাম দিয়ে প্রাইম সংখ্যা চেক করুন


একটি পূর্ণসংখ্যা দেওয়া থাকলে, রিকারসিভ পদ্ধতিতে সেটি প্রাইম কিনা চেক করতে হবে।

২ থেকে Num/2 পর্যন্ত যেকোনো সংখ্যা যদি Num কে ভাগ করে দেয়, তবে নন-প্রাইম।

উদাহরণ

ইনপুট − Num = 32

আউটপুট − 32 is non-Prime!

ইনপুট − Num = 43

আউটপুট − 43 is a Prime number!

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

রিকারসিভ ফাংশন checkPrime(int num1, int index) ২ থেকে num1/2 পর্যন্ত চেক করে।

  • ইনপুট Num নিন।

  • যদি num1 < 2 হয়, ০ ফেরত দিন (নন-প্রাইম)।

  • যদি num1 == 2 || num1 == 3 হয়, ১ ফেরত দিন (প্রাইম)।

  • যদি num1 % index == 0 হয়, ০ ফেরত দিন।

  • যদি index <= num1/2 হয়, ১ ফেরত দিন (প্রাইম)।

  • অন্যথায় checkPrime(num1, index+1) কল করুন।

উদাহরণ কোড

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

int checkPrime(int num1, int index){
    if(num1 < 2){
        return 0;
    }
    if (num1 == 2 || num1 == 3){
        return 1;
    }
    if (num1 % index == 0){
        return 0;
    }
    if (index <= num1/2){
        return 1;
    }
    int result = checkPrime(num1, index+1);
    return result;
}

int main(){
    int Num = 31;
    if (checkPrime(Num, 2) == 1){
        cout << Num << " is a Prime number !";
    }
    else{
        cout << Num << " is non Prime!";
    }
    return 0;
}

আউটপুট

উপরের কোড রান করলে নিচের আউটপুট পাওয়া যাবে:

31 is a Prime number!
  1. C++-তে সেন্টার্ড ননাগোনাল (Centered Nonagonal) সংখ্যা বের করা

  2. C++ প্রোগ্রাম: হেক্সাডেসিমেল থেকে ডেসিমেল কনভার্সন

  3. C++-এ ডেসিমেল থেকে হেক্সাডেসিমেল কনভার্সন প্রোগ্রাম

  4. C++-এ ডেসিমেল থেকে বাইনারি কনভার্সন প্রোগ্রাম