একটি সমস্যা নিয়ে আলোচনা করুন যেখানে আমাদের একটি সংখ্যা 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++ প্রোগ্রাম নিয়েও আলোচনা করেছি যা আমরা সি, জাভা, পাইথন ইত্যাদি প্রোগ্রামিং ভাষার সাথে করতে পারি। আমরা আশা করি এই টিউটোরিয়ালটি আপনার কাজে লাগবে।