কম্পিউটার

C++ এ শুধুমাত্র 3 এবং 4 সহ একটি সংখ্যা পদ্ধতিতে n'তম সংখ্যা খুঁজুন


এই সমস্যায়, আমাদের একটি উপাদান N দেওয়া হয়েছে। আমাদের শুধুমাত্র 3 এবং 4 সহ একটি সংখ্যা পদ্ধতিতে N’th সংখ্যাটি খুঁজে বের করতে হবে।

সংখ্যা পদ্ধতিতে উপাদান রয়েছে 3, 4, 33, 34, 43, 44, 333, 334, 343, 344, …

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

ইনপুট

N = 6

আউটপুট

44

ব্যাখ্যা

সংখ্যা পদ্ধতির সংখ্যা হল − 3, 4, 33, 34, 43, 44...

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

সংখ্যা পদ্ধতিটি বাইনারি সংখ্যা পদ্ধতির অনুরূপ কিন্তু সংখ্যা 0টি 3 দ্বারা প্রতিস্থাপিত হয় এবং সংখ্যা 1 4 দ্বারা প্রতিস্থাপিত হয়৷

আসুন এটিকে sBinary হিসাবে বলি।

সুতরাং, Nth সংখ্যা হল (n-1) এর Sbinary রূপান্তর।

এই জ্ঞানের সাহায্যে, আমরা সহজেই (N-1) এর বাইনারি সমতুল্য খুঁজে বের করে এবং তারপর 3 দ্বারা পাওয়া বাইনারি সংখ্যার প্রতিটি সংখ্যা যোগ করে সমস্যাটি সমাধান করতে পারি।

কীভাবে দশমিককে বাইনারিতে রূপান্তর করবেন?

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

উদাহরণ

#include<iostream>
using namespace std;
void findNThTermNumberSystem(int N) {
   if(N == 1 || N == 2) {
      cout<<(N-1) + 3;
      return;
   }
   N -= 1;
   findNThTermNumberSystem(N/2);
   cout<<((N % 2) + 3);
}
int main(){
   int N = 12;
   cout<<N<<"th term of the number system is ";
   findNThTermNumberSystem(N);
   return 0;
}

আউটপুট

12th term of the number system is 434

  1. C++-এ নিকটতম এবং ছোট পরিপাটি সংখ্যা খুঁজুন

  2. 1 থেকে n পর্যন্ত পূর্ণসংখ্যার সংখ্যা খুঁজুন যেখানে শুধুমাত্র C++ এ 0 এবং 1 এর সংখ্যা রয়েছে

  3. C++ এ n-এর নিকটতম এবং m দ্বারা বিভাজ্য সংখ্যাটি খুঁজুন

  4. সবচেয়ে ছোট সংখ্যা K খুঁজুন যেমন K % p =0 এবং q % K =0 C++ এ