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)
- Check if given number is a power of d where d is a power of 2
- Check if any permutation of a number is divisible by 3 and is Palindromic
- Check if any permutation of a large number is divisible by 8
- Check if a number can be expressed as power | Set 2 (Using Log)
- 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 x^y (x raised to power y)
- Check if a number is power of k using base changing method
- 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)
- K difference permutation
- Permutation Coefficient
- Permutation and Combination in Python
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.
Improved By : Ita_c