Given a number N, the task is to find out maximum sum of distinct numbers such that the Least Common Multiple of all these numbers is N.
Input : N = 12 Output : 20 Maximum sum which we can achieve is, 1 + 2 + 3 + 4 + 6 + 12 = 28 Input : N = 15 Output : 24
We can solve this problem by observing some cases, As N needs to be LCM of all numbers, all of them will be divisors of N but because a number can be taken only once in sum, all taken numbers should be distinct. The idea is to take every divisor of N once in sum to maximize the result.
How can we say that the sum we got is maximal sum? The reason is, we have taken all the divisors of N into our sum, now if we take one more number into sum which is not divisor of N, then sum will increase but LCM property will not be hold by all those integers. So it is not possible to add even one more number into our sum, except all divisor of N so our problem boils down to this, given N find sum of all divisors, which can be solved in O(sqrt(N)) time.
So total time complexity of solution will O(sqrt(N)) with O(1) extra space.
Code is given below on above stated concept. Please refer this post for finding all divisors of a number.
This article is contributed by Utkarsh Trivedi. 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 write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Maximum sum of distinct numbers such that LCM of these numbers is N
- Numbers less than N which are product of exactly two distinct prime numbers
- Maximum number of distinct positive integers that can be used to represent N
- Maximum distinct lines passing through a single point
- Numbers having Unique (or Distinct) digits
- Exactly n distinct prime factor numbers from a to b
- Find two distinct prime numbers with given product
- Find N distinct numbers whose bitwise Or is equal to K
- Check if all sub-numbers have distinct Digit product
- Print combinations of distinct numbers which add up to give sum N
- Count of N-digit numbers with all distinct digits
- Count of distinct remainders when N is divided by all the numbers from the range [1, N]
- Largest of two distinct numbers without using any conditional statements or operators
- Number of distinct prime factors of first n natural numbers
- Maximum value of division of two numbers in an Array
Improved By : nitin mittal