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