We are given a number n, we need to find the maximum sum possible with the help of following function:
F(n) = max( (F(n/2) + F(n/3) + F(n/4) + F(n/5)), n). To calculate F(n, ) we may either have n as our result or we can further break n into four part as in given function definition. This can be done as much time as we can. Find the maximum possible sum you can get from a given N. Note : 1 can not be break further so F(1) = 1 as a base case.
Input : n = 10 Output : MaxSum = 12 Explanation: f(10) = f(10/2) + f(10/3) + f(10/4) + f(10/5) = f(5) + f(3) + f(2) + f(2) = 12 5, 3 and 2 cannot be further divided. Input : n = 2 Output : MaxSum = 2
Approach : This problem can be solve with recursive approach but that will cost us a high complexity because of its overlapping sub problems. So we apply dynamic programming concept to solve this question in bottom up manner as:
Time Complexity: O(N)
Auxiliary Space: O(N)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Maximize a number considering permutations with values smaller than limit
- Choice of Area
- Maximum sum after repeatedly dividing N by a divisor
- Largest number dividing maximum number of elements in the array
- Minimum value of X to make all array elements equal by either decreasing or increasing by X
- Maximum length subsequence with difference between adjacent elements as either 0 or 1
- Count number of digits after decimal on dividing a number
- Count of divisors having more set bits than quotient on dividing N
- Longest dividing subsequence
- Ways of dividing a group into two halves such that two elements are in different groups
- Minimum integer such that it leaves a remainder 1 on dividing with any element from the range [2, N]
- Minimize sum by dividing all elements of a subarray by K
- Smallest number dividing minimum number of elements in the array | Set 2
- Smallest number dividing minimum number of elements in the Array
- Puzzle | Dividing a Square into N smaller squares
- Print all Longest dividing subsequence in an Array
- Smallest number to make Array sum at most K by dividing each element
- Length of longest increasing index dividing subsequence
- Min operations to reduce N to 1 by multiplying by A or dividing by B
- Count subarrays such that remainder after dividing sum of elements by K gives count of elements
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.