ধরুন আমাদের একটি সংখ্যা n আছে। সংখ্যাটি 3 এর শক্তি কি না তা পরীক্ষা করতে হবে। সুতরাং সংখ্যাটি যদি n =27 এর মত হয়, অর্থাৎ 3 এর শক্তি, ফলাফলটি সত্য হবে, যদি n =15 হয় তবে এটি মিথ্যা হবে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- এটি সমাধান করতে আমরা লগারিদম ব্যবহার করব
- যদি [log10(n) / log10(3)] mod 1 ==0 হয়, তাহলে এটি তিনটির শক্তি হবে, অন্যথায় নয়
উদাহরণ
আরো ভালোভাবে বোঝার জন্য নিচের বাস্তবায়নটি দেখি -
class Solution(object): def isPowerOfThree(self, n): """ :type n: int :rtype: bool """ if not n or n<0: return False return (math.log10(n)/ math.log10(3)) % 1 == 0 ob1 = Solution() print(ob1.isPowerOfThree(27)) print(ob1.isPowerOfThree(15)) print(ob1.isPowerOfThree(9)
ইনপুট
27 15 9
আউটপুট
true false true