কম্পিউটার

C++ এ মৌলিক সংখ্যার যোগফল হিসেবে একটি বিজোড় সংখ্যা প্রকাশ করুন


এই সমস্যায়, আমাদের একটি বিজোড় সংখ্যা N দেওয়া হয়েছে৷ আমাদের কাজ হল একটি বিজোড় সংখ্যাকে মৌলিক সংখ্যার যোগফল হিসাবে প্রকাশ করা৷

সংখ্যা প্রকাশ করার সময় সর্বোচ্চ তিনটি মৌলিক সংখ্যা থাকতে পারে।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট: N =55

আউটপুট: 53 + 2

সমাধান পদ্ধতি:

বিজোড় সংখ্যাটিকে মৌলিক সংখ্যার যোগফল হিসাবে উপস্থাপন করা যেতে পারে। এই প্রাইমগুলিকে বিবেচনায় নিয়ে আমাদের তিনটি ক্ষেত্রে রয়েছে৷

কেস 1: n একটি মৌলিক সংখ্যা হলে, এটি একটি মৌলিক সংখ্যা n এর যোগফল হিসাবে উপস্থাপন করা হয় .
কেস 2: যদি (n - 2) একটি মৌলিক সংখ্যা হয়, তবে এটি দুটি মৌলিক সংখ্যা n-2 এবং 2 এর যোগফল হিসাবে উপস্থাপন করা হয় .

কেস 3: ( n - 3 ) একটি জোড় সংখ্যা যা গোল্ডবাচের অনুমান পদ্ধতি ব্যবহার করে দুটি মৌলিক সংখ্যার যোগফল হিসাবে উপস্থাপন করা যেতে পারে যেখানে আমরা পরীক্ষা করব যে একটি সংখ্যা A মৌলিক এবং সংখ্যা {(n-3) - A }ও মৌলিক তাহলে এটি প্রিন্ট করুন।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <iostream>
using namespace std;

bool isPrime(int x)
{
   if (x == 0 || x == 1)
      return false;
   for (int i = 2; i * i <= x; ++i)
      if (x % i == 0)
         return false;  
   return true;
}

void primeAsSumofPrime(int n) {
   
   if (isPrime(n) )
      cout<<n;
   else if (isPrime(n - 2))
      cout<<"2 "<<"+ "<<(n - 2);
   else{
      cout<<"3 "<<"+ ";
      n -= 3;
      for (int i = 0; i < n; i++) {
         if (isPrime(i) && isPrime(n - i)) {
            cout<<i<<" + "<<(n - i);
            break;
         }
      }
   }
}

int main() {
   
   int n = 561;
   cout<<"The number "<<n<<" expressed as sum of primes is ";
   primeAsSumofPrime(n);
   return 0;
}

আউটপুট −

The number 561 expressed as sum of primes is 3 + 11 + 547

  1. সি++ এ ডুডেনি নম্বর

  2. একটি সংখ্যাকে C++ এ 2টি ত্রিভুজাকার সংখ্যার যোগফল হিসাবে উপস্থাপন করা যায় কিনা তা পরীক্ষা করুন

  3. একটি সংখ্যাকে C++ এ পরপর সংখ্যার যোগফল হিসাবে প্রকাশ করা যায় কিনা তা পরীক্ষা করুন

  4. একটি সংখ্যাকে দুটি প্রাইম নম্বরের যোগফল হিসাবে প্রকাশ করা যায় কিনা তা পরীক্ষা করার জন্য C++ প্রোগ্রাম