Given a positive integer N and K where and . The task is to check whether any permutation of digits of N equals any power of K. If possible return “True” otherwise return “False“.
Input: N = 96889010407, K = 7 Output: True Explanation: 96889010407 = 713 Input : N = 123456789, K = 4 Output : False
Approach: The Naive approach is to generate all permutation of digits of N and then check one by one if any of them is divisible of any power of K.
Efficient Approach: We know that total numbers of all power of K will not be more than logK(1018), for eg: if K = 2 then there will be atmost 64 numbers of power of K. We generate all power of K and store it in array.
Now we iterate all numbers from array and check where it contains all digits of N or not.
Below is the implementation of above approach:
Time Complexity: O(logK(1018)2)
- Array containing power of 2 whose XOR and Sum of elements equals X
- Check if given number is a power of d where d is a power of 2
- Check if any permutation of a large number is divisible by 8
- Check if any permutation of a number is divisible by 3 and is Palindromic
- Check whether a given Number is Power-Isolated or not
- Given a HUGE number check if it's a power of two.
- Check if a number can be expressed as power | Set 2 (Using Log)
- Check if a number can be expressed as x^y (x raised to power y)
- Check if a number is power of k using base changing method
- Minimum number of given operations required to convert a permutation into an identity permutation
- Find the sum of power of bit count raised to the power B
- Compute power of power k times % m
- Find power of power under mod of a prime
- Check if a number is a power of another number
- Larger of a^b or b^a (a raised to power b or b raised to power a)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.