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

C++-এ একটি সংখ্যার বিষম স্থানের অঙ্কগুলোর যোগফলের প্রাইম্যালিটি টেস্ট


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

প্রাইম্যালিটি টেস্ট হলো একটি অ্যালগরিদম যা ব্যবহার করা হয় কোনো সংখ্যা মৌলিক কিনা তা নির্ধারণের জন্য।

উদাহরণস্বরূপ,

ইনপুট: 3425 আউটপুট: না ব্যাখ্যা: বিষম স্থানের অঙ্কগুলোর যোগফল = 5 + 4 = 9, যা একটি মৌলিক সংখ্যা নয়।

এই সমস্যা সমাধানের একটি সহজ পদ্ধতি হলো সংখ্যার বিষম স্থানের সব অঙ্ক যোগ করা এবং তারপর সেই যোগফলটি মৌলিক কিনা তা পরীক্ষা করা।

উদাহরণ

#include <iostream>
using namespace std;

int oddSum(int n) {
    int sum = 0, pos = 1;
    while(n) {
        if (pos % 2 == 1)
            sum += n % 10;
        n = n / 10;
        pos++;
    }
    return sum;
}

bool isPrimeNumber(int n) {
    if (n <= 1)
        return false;
    if (n <= 3)
        return true;
    if (n % 2 == 0 || n % 3 == 0)
        return false;
    for (int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return false;
    return true;
}

int main() {
    int n = 1734;
    if (isPrimeNumber(oddSum(n)))
        cout << "Sum of odd digit of the number " << n << " is prime Number.";
    else
        cout << "Sum of odd digit of the number " << n << " is not prime Number.";
    return 0;
}

আউটপুট

Sum of odd digit of the number 1734 is prime Number.

  1. C++ প্রোগ্রাম: একটি নম্বরের অড ফ্যাক্টরগুলোর যোগফল বের করা

  2. C++ প্রোগ্রাম: রবিন-মিলার মৌলিকতা পরীক্ষা বাস্তবায়ন

  3. C++-এ দেওয়া সংখ্যার ডিজিটগুলোর যোগফল বের করা

  4. Python-এ সংখ্যার অড প্লেসের ডিজিটগুলোর যোগফল K দিয়ে বিভাজ্য কিনা যাচাই করা