কম্পিউটার

সি++ প্রোগ্রামে ডাবল বেস প্যালিনড্রোম


এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যেটি প্রদত্ত সংখ্যাটি দুটি সংখ্যা পদ্ধতিতে একটি প্যালিনড্রোম কিনা তা পরীক্ষা করে।

আমরা আরেকটি সংখ্যা পদ্ধতির জন্য একটি সংখ্যা এবং একটি ভিত্তি দিয়েছি। প্রদত্ত সংখ্যাটি দশমিক সংখ্যা পদ্ধতি এবং প্রদত্ত সংখ্যা পদ্ধতিতে একটি প্যালিনড্রোম কিনা তা আমাদের পরীক্ষা করতে হবে৷

আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷

  • সংখ্যা এবং সংখ্যা সিস্টেম বেস শুরু করুন।

  • প্রদত্ত সংখ্যাটি দশমিক সংখ্যা পদ্ধতিতে একটি প্যালিনড্রোম কিনা তা পরীক্ষা করুন৷

  • একটি স্ট্রিং বিন্যাসে নম্বরটিকে অন্য নম্বর সিস্টেমে রূপান্তর করুন৷

  • রূপান্তরিত নম্বরটি প্যালিনড্রোম কিনা তা পরীক্ষা করুন৷

  • যদি প্রদত্ত সংখ্যাটি উভয় সংখ্যা পদ্ধতিতে একটি প্যালিনড্রোম হয়, তাহলে হ্যাঁ প্রিন্ট করুন অন্যথায় না .

উদাহরণ

আসুন কোডটি দেখি।

#include <bits/stdc++.h>
using namespace std;
string integer_to_string(int n, int base) {
   string str;
   while (n > 0) {
      int digit = n % base;
      n /= base;
      str.push_back(digit + '0');
   }
   return str;
}
string isDoubleBasePalidrome(int n, int k) {
   int temp = n;
   int number_reverse = 0;
   while (temp > 0) {
      number_reverse = temp % 10 + number_reverse * 10;
      temp /= 10;
   }
   if (number_reverse == n) {
      // converting to base k
      string str = integer_to_string(n, k);
      string str_copy = str;
      // reversing number in base k
      reverse(str.begin(), str.end());
      if (str == str_copy) {
         return "Yes";
      }
   }
   return "No";
}
int main() {
   int n = 313, k = 2;
   cout << isDoubleBasePalidrome(n, k) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

Yes

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. ডাবল ইন্টিগ্রেশন গণনা করার জন্য C++ প্রোগ্রাম

  2. একটি নম্বর প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য C++ প্রোগ্রাম

  3. একটি সংখ্যার শক্তি গণনা করার জন্য C++ প্রোগ্রাম

  4. C++ প্রোগ্রাম একটি নম্বর বিপরীত করতে