Given two numbers k and n, find the largest power of k that divides n!
K > 1
Input : n = 7, k = 2 Output : 4 Explanation : 7! = 5040 The largest power of 2 that divides 5040 is 24. Input : n = 10, k = 9 Output : 2 The largest power of 9 that divides 10! is 92.
We have discussed a solution in below post when k is always prime.
Now to find the power of any non-prime number k in n!, we first find all the prime factors of the number k along with the count of number of their occurrences. Then for each prime factor, we count occurrences using Legendre’s formula which states that the largest possible power of a prime number p in n is ⌊n/p⌋ + ⌊n/(p2)⌋ + ⌊n/(p3)⌋ + ……
Over all the prime factors p of K, the one with the minimum value of findPowerOfK(n, p)/count will be our answer where count is number of occurrences of p in k.
This article is contributed by ShivamKD. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Number of digits in N factorial to the power N
- Find maximum power of a number that divides a factorial
- Find power of power under mod of a prime
- Check if N is a Factorial Prime
- Power of a prime number ‘r’ in n!
- Finding power of prime number p in n!
- Largest subset where absolute difference of any two element is a power of 2
- Largest number in [2, 3, .. n] which is co-prime with numbers in [2, 3, .. m]
- Largest number with prime digits
- Largest number that divides x and is co-prime with y
- Find largest prime factor of a number
- Sum of largest prime factor of each number less than equal to n
- Sum of largest divisible powers of p (a prime number) in a range
- Sum and product of k smallest and k largest prime numbers in the array
- Find Largest Special Prime which is less than or equal to a given number