Given an integer N. The task is to find all factors of N and print the product of four factors of N such that:
- Sum of the four factors is equal to N.
- The product of the four factors is maximum.
If it is not possible to find 4 such factors then print “Not possible”.
Note: All the four factors can be equal to each other to maximize the product and there can be a large number of queries.
Input: 24 Output: Product -> 1296 All factors are -> 1 2 3 4 6 8 12 24 Choose the factor 6 four times, Therefore, 6+6+6+6 = 24 and product is maximum. Input: 100 Output: Product -> 390625 All the factors are -> 1 2 4 5 10 10 20 25 50 100 Choose the factor 25 four times.
The idea is to find factors of all numbers from 1 to N ( which is the maximum value of n ).
- An answer will be Not possible if the given is prime.
- And if the given n is divisible by 4 then answer will be pow(q, 4) where q is a quotient when n is divided by 4.
- If it is possible to find the answer then, the answer must include third last factor two times. And run a nested loop for other two factors.
Below is the implementation of the above approach:
- Find four factors of N with maximum product and sum equal to N | Set-2
- Find four factors of N with maximum product and sum equal to N
- Find number of factors of N when location of its two factors whose product is N is given
- Find maximum product of digits among numbers less than or equal to N
- Find the Number of Maximum Product Quadruples
- Find the number in a range having maximum product of the digits
- Find a pair with maximum product in array of Integers
- Product of factors of number
- Queries to find maximum product pair in range with updates
- Find three integers less than or equal to N such that their LCM is maximum
- Maximize the product of four factors of a Number
- Product of unique prime factors of a number
- Ways to express a number as product of two different factors
- Distinct Prime Factors of Array Product
- Count numbers in a range having GCD of powers of prime factors equal to 1
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 : andrew1234