Input: x = 15, y = 20, z = 100 Output: 60 Input: x = 30, y = 40, z = 400 Output: 120
One way to solve it is by finding GCD(x, y), and using it we find LCM(x, y). Similarly, we find LCM(x, z) and then we finally find the GCD of the obtained results.
An efficient approach can be done by the fact that the following version of distributivity holds true:
GCD(LCM (x, y), LCM (x, z)) = LCM(x, GCD(y, z))
For example, GCD(LCM(3, 4), LCM(3, 10)) = LCM(3, GCD(4, 10)) = LCM(3, 20) = 60
This reduces our work to compute the given problem statement.
As a side note, vice versa is also true, i.e., gcd(x, lcm(y, z)) = lcm(gcd(x, y), gcd(x, z)
This article is contributed by Mazhar Imam Khan. 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 write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Number of subarrays having sum of the form k^m, m >= 0
- Compute maximum of the function efficiently over all sub-arrays
- Determine the numer of squares that line will pass through
- Given count of digits 1, 2, 3, 4, find the maximum sum possible
- Check if product of array containing prime numbers is a perfect square
- Find the good permutation of first N natural numbers
- Find the maximum number of composite summands of a number
- Minimum number operations required to convert n to m | Set-2
- Minimum number of given operation required to convert n to m
- Minimize the cost to split a number
- Print all Semi-Prime Numbers less than or equal to N
- Count number of trailing zeros in Binary representation of a number using Bitset
- Sum of Fibonacci Numbers in a range