কম্পিউটার টিউটোরিয়াল

শুধু 3 ও 4 ডিজিট দিয়ে সংখ্যা পদ্ধতিতে Nতম সংখ্যা খুঁজে বের করা C++-এ

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

সंख্যা পদ্ধতির এলিমেন্টগুলো: 3, 4, 33, 34, 43, 44, 333, 334, 343, 344, …

উদাহরণ

ইনপুট

N = 6

আউটপুট

44

ব্যাখ্যা

সংখ্যা পদ্ধতির সংখ্যাগুলো: 3, 4, 33, 34, 43, 44…

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

এই সংখ্যা পদ্ধতিটি বাইনারি সংখ্যা পদ্ধতির মতো কিন্তু ০ কে ৩ দিয়ে এবং ১ কে ৪ দিয়ে রিপ্লেস করা।

এটাকে বলুন sBinary।

সুতরাং Nতম সংখ্যা হল (N-1)-এর sBinary কনভার্সন।

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

প্রোগ্রাম উদাহরণ

#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. ১ থেকে n পর্যন্ত শুধু ০ এবং ১ অঙ্ক সম্বলিত পূর্ণসংখ্যা গণনা করা C++-তে

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

  4. সর্বনিম্ন সংখ্যা K খুঁজে বের করা যাতে K % p = 0 এবং q % K = 0 C++-তে