Given two numbers, fact and n, find the largest power of n that divides fact! (Factorial of fact).
Input : fact = 5, n = 2 Output : 3 Value of 5! is 120. The largest power of 2 that divides 120 is 8 (or 23 Input : fact = 146, n = 15 Output : 35
The idea is based on Legendre’s formula which finds largest power of a prime number that divides fact!. We find all prime factors of n. For every prime factor we find largest power of it that divides fact!. Finally we return minimum of all found powers.
fact = 146, n=15 First find the prime factor of 15 that are 3 and 5 then first divide with 3 and add i.e. Applying Legendre’s formula for prime factor 3. [146/3]+[48/3]+[16/3]+[5/3]+[1/3] = 70 48 + 16 + 5 + 1 + 0 = 70 There is 70 is maximum power of 3 prime number. 146! is divisible by 3^70 which is maximum. Applying Legendre’s formula for prime factor 5. [146/5]+[29/5]+[5/5]+[1/5] = 35 29 + 5 + 1 + 0 = 35 There is 35 is maximum power of 5 prime number.
Minimum of two powers is 35 which is our answer.
Note : If multiple powers of a prime factor are present in n, then we divide the count to get the maximum power value for this factor.
- Find the last digit when factorial of A divides factorial of B
- Find a number that divides maximum array elements
- Find integers that divides maximum number of elements of the array
- Highest power of 2 that divides a number represented in binary
- Highest power of a number that divides other number
- Number of digits in N factorial to the power N
- Maximum number with same digit factorial product
- Largest power of k in n! (factorial) where k may not be prime
- Find sum of digits in factorial of a number
- Find the first natural number whose factorial is divisible by x
- Find whether a given number is a power of 4 or not
- Find the super power of a given Number
- Find last five digits of a given five digit number raised to power five
- Find power of power under mod of a prime
- Maximum value of an integer for which factorial can be calculated on a machine
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 : manishshaw1