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

C++-এ বেস পরিবর্তন পদ্ধতিতে একটি সংখ্যা k-এর ঘাত কিনা তা যাচাই করা


এখানে আমরা একটি প্রোগ্রাম দেখব, যেখানে একটি সংখ্যা এবং অন্য একটি মান k দেওয়া থাকবে, এবং আমাদের যাচাই করতে হবে যে সংখ্যাটি k-এর ঘাত কিনা। কিন্তু এখানে বেস পরিবর্তন (base changing) পদ্ধতি ব্যবহার করতে হবে। ধরুন একটি সংখ্যা ২৭ এবং k = 3। বেস পরিবর্তন পদ্ধতিতে ২৭ হবে ১০০০₍₃₎। বেস পরিবর্তন করার পর যদি শুধু একবার ডিজিট ১ থাকে এবং বাকিগুলো ০ থাকে, তবে সংখ্যাটি k-এর ঘাত।

এই সমস্যাটি সমাধান করতে নিচের ধাপগুলো অনুসরণ করতে হবে:

ধাপসমূহ −

  • flag := false সংজ্ঞায়িত করুন।
  • যখন number > 0, ধাপ ৩ থেকে ৬ পুনরাবৃত্তি করুন।
  • digit := number mod k বের করুন।
  • যদি digit > 1 হয়, তবে false রিটার্ন করুন।
  • অন্যথায়, যদি digit ১ হয়, তবে যদি flag true হয়, তবে false রিটার্ন করুন, অন্যথায় flag := true করুন।
  • number := number / k সেট করুন।
  • true রিটার্ন করুন।

উদাহরণ

#include <iostream> #include <cmath> using namespace std; bool isPowerOfK(int num, int k) {    bool flag = false;    while (num > 0) {       int digit = num % k; //get current digit in base k       if (digit > 1) //if the digit is not 0 or 1, then it is not power of k       return false;       if (digit == 1) {          if (flag)             return false;          flag = true;       }       num /= k;    }    return true; } int main() {    int number = 27, K = 3;    if(isPowerOfK(number, K)){       cout << number << " is power of " << K;    } else {       cout << number << " is not power of " << K;    } }

আউটপুট

27 is power of 3

  1. সি++ কোড: ত্রিভুজাকার সংখ্যা কিনা যাচাই করুন

  2. C++ দিয়ে B বেসে N!-এর末尾 শূন্যের সংখ্যা বের করা

  3. C++ দিয়ে বেস ১৬-এ N!-এর শেষ শূন্যের সংখ্যা বের করা

  4. রিকার্সন ব্যবহার করে সংখ্যার ঘাত (Power) বের করার C++ প্রোগ্রাম