Related Articles
Pairs with GCD equal to one in the given range
• Difficulty Level : Hard
• Last Updated : 06 Apr, 2021

Given a range i.e. L and R, the task is to find if we can form pairs such that GCD of every pair is 1. Every number in the range L-R should be involved exactly in one pair.
Examples:

```Input: L = 1, R = 8
Output: Yes
{2, 7}, {4, 1}, {3, 8}, {6, 5}
All pairs have GCD as 1.

Input: L = 2, R = 4
Output: No```

Approach: Since every number in the range(L, R) must be included exactly once in every pair. Hence if L-R is an even number, then it is not possible. If L-R is an odd number, then print all the adjacent pairs since adjacent pairs will always have GCD as 1.
Below is the implementation of the above approach:

## C++

 `// C++ program to print all pairs``#include ``using` `namespace` `std;` `// Function to print all pairs``bool` `checkPairs(``int` `l, ``int` `r)``{``    ``// check if even``    ``if` `((l - r) % 2 == 0)``        ``return` `false``;` `    ``/* We can print all adjacent pairs``      ``for (int i = l; i < r; i += 2) {``          ``cout << "{" << i << ", " << i + 1 << "}, ";``      ``} */``     ` `    ``return` `true``;``}` `// Driver Code``int` `main()``{``    ``int` `l = 1, r = 8;``    ``if` `(checkPairs(l, r))``       ``cout << ``"Yes"``;``    ``else``       ``cout << ``"No"``;``    ``return` `0;``}`

## Java

 `// Java program to print all pairs``class` `GFG``{``// Function to print all pairs``static` `boolean` `checkPairs(``int` `l, ``int` `r)``{``    ``// check if even``    ``if` `((l - r) % ``2` `== ``0``)``        ``return` `false``;` `    ``/* We can print all adjacent pairs``    ``for (int i = l; i < r; i += 2)``    ``{``        ``System.out.print("{"+i+", "+i + 1+"}, ");``    ``} */``    ` `    ``return` `true``;``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `l = ``1``, r = ``8``;``    ``if` `(checkPairs(l, r))``    ``System.out.println(``"Yes"``);``    ``else``    ``System.out.println(``"No"``);``}``}` `// This code is contributed by mits`

## Python 3

 `# Python 3 program to print all pairs` `# Function to print all pairs``def` `checkPairs(l, r) :` `    ``# check if even``    ``if` `(l ``-` `r) ``%` `2` `=``=` `0` `:``        ``return` `False` `    ``""" we can print all adjacent pairs``    ``for i in range(l,r,2) :``        ``print("{",i,",",i + 1, "},")``    ``"""``    ` `    ``return` `True` `# Driver Code``if` `__name__ ``=``=` `"__main__"` `:` `    ``l, r ``=` `1``, ``8` `    ``if` `checkPairs(l, r) :``        ``print``(``"Yes"``)``    ``else` `:``        ``print``(``"No"``)``           ` `# This code is contributed by ANKITRAI1`

## C#

 `// C# program to print all pairs``using` `System;` `class` `GFG``{``// Function to print all pairs``static` `bool` `checkPairs(``int` `l, ``int` `r)``{``    ``// check if even``    ``if` `((l - r) % 2 == 0)``        ``return` `false``;` `    ``/* We can print all adjacent pairs``    ``for (int i = l; i < r; i += 2)``    ``{``        ``System.out.print("{"+i+", "+i + 1+"}, ");``    ``} */``    ` `    ``return` `true``;``}` `// Driver Code``static` `public` `void` `Main ()``{``    ``int` `l = 1, r = 8;``    ``if` `(checkPairs(l, r))``    ``Console.Write(``"Yes"``);``    ``else``    ``Console.Write(``"No"``);``}``}` `// This code is contributed by Raj`

## PHP

 ``

## Javascript

 ``
Output:
`Yes`

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

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.  Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price.

In case you wish to attend live classes with industry experts, please refer Geeks Classes Live

My Personal Notes arrow_drop_up