এই টিউটোরিয়ালটি ন্যূনতম সিউডো-বাইনারী সংখ্যার যোগফল হিসাবে একটি সংখ্যার উপস্থাপনা নিয়ে আলোচনা করবে। ছদ্ম-বাইনারী সংখ্যা হল এমন সংখ্যা যা শুধুমাত্র বাইনারি সংখ্যার সমন্বয়ে গঠিত, যেমন, 0 এবং 1। ছদ্ম-বাইনারী সংখ্যার উদাহরণ হল 00, 11, 10, 100, 111, 1011, ইত্যাদি।
নীচে ছদ্ম-বাইনারী সংখ্যার যোগফল হিসাবে উপস্থাপিত সংখ্যার কিছু উদাহরণ রয়েছে।
Input : 23 Output : 11 + 11 + 1 Explanation : 23 = 11 + 11 + 1, sum of pseudo-binary numbers(11, 11, 1) is 23. Input : 50 Output : 10 + 10 + 10 + 10 + 10
সমাধান খোঁজার পদ্ধতি
N প্রতিনিধিত্ব করার জন্য ন্যূনতম ছদ্ম-বাইনারী সংখ্যাগুলি খুঁজে বের করার জন্য নীচে একটি সেরা পদ্ধতি রয়েছে।
-
একটি সংখ্যা X নিন এবং N সংখ্যার সংখ্যা অনুসারে এর সংখ্যাগুলি 1 বা 0 এ আপডেট করুন৷
-
N,
এর প্রতিটি স্থানে ডিজিট চেক করুন-
যদি এটি 0 হয়, তাহলে X-এর সেই স্থানটিকে 0-তে আপডেট করুন।
-
যদি এটি শূন্য না হয়, X-এর সেই স্থানটিকে 1-এ আপডেট করুন।
-
ধরা যাক N =32, তাহলে X হবে 11
-
-
তাহলে X হবে একটি সিউডো-বাইনারী সংখ্যা।
-
এখন X দ্বারা N হ্রাস করুন এবং N শূন্য না হওয়া পর্যন্ত ধাপ 1 পুনরাবৃত্তি করুন৷
উদাহরণ
উপরের পদ্ধতির জন্য C++ কোড
#include<iostream> using namespace std; int main(){ int N = 51; // find a pseudo-binary number until N becomes 0. cout << "pseudo-binary representation of " << N << " is: "; while (N > 0){ // finding X which contains 0's and 1's according to N. int temp = N; int X = 0, bit = 1; // checking each place of N for zero or non-zero. while (temp!=0){ int last_dig = temp % 10; temp = temp / 10; if (last_dig != 0) X += bit; bit *= 10; } // printing one pseudo-binary number. cout << X << " "; // Updating N by subtracting with X. N = N - X; } return 0; }
আউটপুট
pseudo-binary representation of 51 is: 11 10 10 10 10
কোড বোঝা
-
এন নেওয়ার জন্য একটি বাইরের সময় লুপ এবং X খুঁজে বের করার জন্য প্রতিটি জায়গায় অঙ্ক বাছাই করা।
-
আমরা টেম্প ভেরিয়েবলের প্রতিটি স্থান চেক করার জন্য N এবং ইনার লুপ দিয়ে টেম্প ভেরিয়েবলের মান আপডেট করছি এবং পরিবর্তনশীল X-এর সেই জায়গাটি আপডেট করছি।
-
X এর মুদ্রণ মান কারণ এটি একটি ছদ্ম-বাইনারী সংখ্যা।
-
আমরা X এর সাথে বিয়োগ করে এবং N 0 না হওয়া পর্যন্ত আবার বাইরের লুপে গিয়ে N আপডেট করি।
উপসংহার
এই টিউটোরিয়ালে, আমরা আলোচনা করেছি কিভাবে আমরা একটি সংখ্যাকে ন্যূনতম সম্ভাব্য ছদ্ম-বাইনারী সংখ্যার যোগফল হিসাবে উপস্থাপন করতে পারি। আমরা সমস্ত ছদ্ম-বাইনারী সংখ্যা খুঁজে বের করার পদ্ধতি নিয়ে আলোচনা করেছি। আমরা এর জন্য C++ কোড নিয়েও আলোচনা করেছি, যা আমরা C, Java, Python, ইত্যাদির মতো অন্য যেকোনো প্রোগ্রামিং ভাষায় লিখতে পারি। আমরা আশা করি এই টিউটোরিয়ালটি আপনার কাজে লাগবে।