কম্পিউটার

C++ এ প্রাইম সংখ্যার সর্বাধিক সম্ভাব্য সংখ্যার যোগফল হিসাবে একটি সংখ্যাকে প্রতিনিধিত্ব করুন


একটি সমস্যা নিয়ে আলোচনা করুন যেখানে আমাদের একটি সংখ্যা N দেওয়া হয়েছে, এবং আমাদের এই সংখ্যাটিকে সর্বাধিক মৌলিক সংখ্যার যোগফলের সাথে ভাগ করতে হবে, উদাহরণস্বরূপ

Input: N = 7
Output: 2 2 3
Explanation: 7 can be represented as the sum of two 2’s and a 3 which are the maximum possible prime numbers.

Input : N = 17
Output: 2 2 2 2 2 2 2 3

সমাধান খোঁজার পদ্ধতি

মৌলিক সংখ্যায় একটি সংখ্যা উপস্থাপন করতে, আমরা N দিয়ে একটি মৌলিক সংখ্যা বিয়োগ করতে পারি এবং মৌলিক সংখ্যার পার্থক্য পরীক্ষা করতে পারি। যদি পার্থক্যটি মৌলিক হয়, তাহলে আমরা N কে দুটি মৌলিক সংখ্যার যোগ হিসাবে উপস্থাপন করতে পারি।

কিন্তু এখানে, আমাদের সর্বোচ্চ সংখ্যক মৌলিক সংখ্যা খুঁজে বের করতে হবে, এবং এর জন্য, আমাদের ন্যূনতম মৌলিক সংখ্যা নিতে হবে, অর্থাৎ 2 এবং 3। আমরা 2 এবং 3 এর যোগফল দিয়ে যেকোনো সংখ্যা গঠন করতে পারি।

  • জোড় সংখ্যা পরীক্ষা করুন; যদি এটি জোড় হয় তবে এটি ( N/2 ) 2 এর যোগফল দ্বারা গঠিত হতে পারে।

  • এটি একটি তিনটি এবং [ (N-3) / 2 ] 2 দ্বারা গঠিত হতে পারে যদি এটি বিজোড় হয়।

  • এইভাবে, আমরা সর্বাধিক সংখ্যক মৌলিক সংখ্যার যোগফল দ্বারা N কে উপস্থাপন করতে পারি।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int main(){
   int N = 7;
   // checking if N is odd,
   // If yes, then print 3
   // and subtract 3 from N.
   if (N & 1 == 1) {
      cout << "3 +";
      N -= 3;
   }
   // // keep subtracting and printing 2
   // until N is becomes 0.
   while (N!=2) {
      cout << " 2 +";
      N -= 2;
   }
   cout << " 2";
   return 0;
}

আউটপুট

3 + 2 + 2

উপসংহার

এই টিউটোরিয়ালে, আমরা মৌলিক সংখ্যার সর্বাধিক সংখ্যার যোগফল হিসাবে একটি সংখ্যাকে উপস্থাপন করার বিষয়ে আলোচনা করেছি। আমরা 2 এবং 3 এর যোগফল হিসাবে সংখ্যাগুলিকে উপস্থাপন করে এই সমস্যাটি সমাধান করার জন্য একটি সহজ পদ্ধতি নিয়ে আলোচনা করেছি। আমরা এই সমস্যার জন্য C++ প্রোগ্রাম নিয়েও আলোচনা করেছি যা আমরা সি, জাভা, পাইথন ইত্যাদি প্রোগ্রামিং ভাষার সাথে করতে পারি। আমরা আশা করি এই টিউটোরিয়ালটি আপনার কাজে লাগবে।


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

  2. C++ এ ফিবোনাচি সংখ্যার বর্গক্ষেত্রের সমষ্টি

  3. C++ এ এককভাবে লিঙ্ক করা তালিকার ন্যূনতম এবং সর্বাধিক প্রাইম নম্বর।

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