Given an integer n, find the power of a given prime number(r) in n!
Input : n = 6 r = 3 Factorial of 6 is 720 = 2^4 * 3^2 *5 (prime factor 2,3,5) and power of 3 is 2 Output : 2 Input : n = 2000 r = 7 Output : 330
A simple method is to first calculate factorial of n, then factorize it to find the power of a prime number.
The above method can cause overflow for a slightly bigger numbers as factorial of a number is a big number. The idea is to consider prime factors of a factorial n.
Legendre Factorization of n!
For any prime number p and any integer n, let Vp(n) be the exponent of the largest power of p that divides n (that is, the p-adic valuation of n). Then
Vp(n) = summation of floor(n / p^i) and i goes from 1 to infinity
While the formula on the right side is an infinite sum, for any particular values of n and p it has only finitely many nonzero terms: for every i large enough that p^i > n, one has floor(n/p^i) = 0 . since, the sum is convergent.
Power of ‘r’ in n! = floor(n/r) + floor(n/r^2) + floor(n/r^3) + ....
Program to count power of a no. r in n! based on above formula.
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Finding power of prime number p in n!
- Check if the number is a Prime power number
- Find power of power under mod of a prime
- Largest power of k in n! (factorial) where k may not be prime
- Elements of Array which can be expressed as power of prime numbers
- Check if given number is a power of d where d is a power of 2
- Count occurrences of a prime number in the prime factorization of every element from the given range
- Find coordinates of a prime number in a Prime Spiral
- Check if a prime number can be expressed as sum of two Prime Numbers
- Highest power of a number that divides other number
- Number of factors of very large number N modulo M where M is any prime number
- Find whether a given number is a power of 4 or not
- Sum of digits of a given number to a given power
- Check if a number is a power of another number
- GCD of a number raised to some power and another number
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 Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : jit_t