Related Articles
Find two distinct numbers such that their LCM lies in given range
• Difficulty Level : Basic
• Last Updated : 26 Mar, 2021

Given two numbers L and R, the task is to find two distinct minimum positive integers X and Y such that whose LCM lies in the range [L, R]. If there doesn’t exist any value of X and Y then print “-1”.

Examples:

Input: L = 3, R = 8
Output: x = 3, y=6
Explanation:
LCM of 3 and 6 is 6 which is in range 3, 8

Input: L = 88, R = 90
Output: -1
Explanation:
Minimum possible x and y are 88 and 176 respectively, but 176 is greater than 90.

Approach: The idea is to choose the value of X and Y in such a way that their LCM lies in the given range [L, R]. Below are the steps:

1. For the minimum value of X choose L as the minimum value as this is the minimum value in the given range.
2. Now for the value of Y choose 2*L as this is the minimum value of Y whose LCM is L.
3. Now if the above two values of X and Y lie in the range [L, R], then this is required pair of integers with minimum possible values of X and Y.
4. Otherwise, print “-1” as there doesn’t exist any other pair.

Below is the implementation of the above approach:

## C++

 `// C++ program for the above approach``#include ``using` `namespace` `std;` `// Function to find two distinct numbers``// X and Y s.t. their LCM lies between``// L and R  and X, Y are minimum possible``void` `answer(``int` `L, ``int` `R)``{` `    ``// Check if 2*L lies in range L, R``    ``if` `(2 * L <= R)` `        ``// Print the answer``        ``cout << L << ``", "``             ``<< 2 * L << ``"\n"``;``    ``else``        ``cout << -1;``}` `// Driver Code``int` `main()``{``    ``// Given value of ranges``    ``int` `L = 3, R = 8;` `    ``// Function call``    ``answer(L, R);``    ``return` `0;``}`

## Java

 `// Java program for the above approach``import` `java.io.*;` `class` `GFG{` `// Function to find two distinct numbers``// X and Y s.t. their LCM lies between``// L and R and X, Y are minimum possible``static` `void` `answer(``int` `L, ``int` `R)``{` `    ``// Check if 2*L lies in range L, R``    ``if` `(``2` `* L <= R)` `        ``// Print the answer``        ``System.out.println(L + ``", "` `+ (``2` `* L));``    ` `    ``else``        ``System.out.println(``"-1"``);``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ` `    ``// Given value of ranges``    ``int` `L = ``3``, R = ``8``;` `    ``// Function call``    ``answer(L, R);``}``}` `// This code is contributed by sanjoy_62`

## Python3

 `# Python3 program for the above approach` `# Function to find two distinct numbers``# X and Y s.t. their LCM lies between``# L and R and X, Y are minimum possible``def` `answer(L, R):` `    ``# Check if 2*L lies in range L, R``    ``if` `(``2` `*` `L <``=` `R):` `        ``# Print the answer``        ``print``(L, ``","``, ``2` `*` `L)` `    ``else``:``        ``print``(``-``1``)` `# Driver Code` `# Given value of ranges``L ``=` `3``R ``=` `8` `# Function call``answer(L, R)` `# This code is contributed by sanjoy_62`

## C#

 `// C# program for the above approach``using` `System;` `class` `GFG{` `// Function to find two distinct numbers``// X and Y s.t. their LCM lies between``// L and R and X, Y are minimum possible``static` `void` `answer(``int` `L, ``int` `R)``{` `    ``// Check if 2*L lies in range L, R``    ``if` `(2 * L <= R)``    ` `        ``// Print the answer``        ``Console.WriteLine(L + ``", "` `+ (2 * L));``    ` `    ``else``        ``Console.WriteLine(``"-1"``);``}` `// Driver Code``public` `static` `void` `Main()``{``    ` `    ``// Given value of ranges``    ``int` `L = 3, R = 8;` `    ``// Function call``    ``answer(L, R);``}``}` `// This code is contributed by sanjoy_62`

## Javascript

 ``
Output:
`3, 6`

Time Complexity: O(1)
Auxiliary Space: O(1)

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up