এখানে আমরা একটি প্রোগ্রাম দেখব, যদি একটি সংখ্যা দেওয়া হয়, আরেকটি মান k দেওয়া হয়, আমাদের পরীক্ষা করতে হবে যে সংখ্যাটি k-এর শক্তি কিনা। কিন্তু আমাদের এই সমস্যা সমাধানের জন্য বেস পরিবর্তন পদ্ধতি সম্পাদন করতে হবে। ধরুন একটি সংখ্যা 27, এবং k =3। তারপর ভিত্তি পরিবর্তন পদ্ধতিতে, 27 হবে 10003। এখানে বেস পরিবর্তন করার পরে যদি শুধুমাত্র একটি সংখ্যা 1 হয় এবং অন্যগুলি 0 হয়, তাহলে সংখ্যাটি k এর শক্তি। .
এই সমস্যা সমাধানের জন্য, আমরা এই পদক্ষেপগুলি অনুসরণ করব৷
পদক্ষেপ −
- পতাকা সংজ্ঞায়িত করুন :=মিথ্যা
- যখন সংখ্যা> 0, ধাপ 3 থেকে 6 পুনরাবৃত্তি করুন
- ডিজিট খুঁজুন :=সংখ্যা মোড k
- যদি অঙ্ক> 1 হয়, তাহলে মিথ্যা ফেরত দিন
- অন্যথায় যখন সংখ্যা 1 হয়, তখন পতাকাটি সত্য হলে, মিথ্যা ফেরত দিন, অন্যথায় পতাকা:=সত্য।
- সংখ্যা সেট করুন :=সংখ্যা / কে।
- সত্যে ফিরে আসুন
উদাহরণ
#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