# Number which is co-prime with all integers from a given range

• Last Updated : 31 May, 2021

Given two positive integers L and R, the task is to find an integer X greater than 1 such that X is co-prime with all the integers from the range [L, R].

Examples:

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.

Input: L = 16, R = 17
Output: 19
Explanation: Only number which is co-prime with all the integers from the range [16, 17] is 9.

Input: L = 973360, R = 973432
Output: 973439

Approach: The simplest approach to solve the given problem is to find a prime number greater than R, because this integer does not divide any integer in the range of [L, R]. Therefore, the idea is to iterate from the value (R + 1) and if there exists any integer which is prime, then print that integer and break out of the loop.

Below is the implementation of the above approach:

## C++

 `// C++ program for the above approach` `#include ``using` `namespace` `std;` `// Function to check whether the``// given number N is prime or not``bool` `isPrime(``int` `N)``{``    ``// Base Case``    ``if` `(N == 1)``        ``return` `false``;` `    ``for` `(``int` `i = 2; i * i <= N; i++) {` `        ``// If N has more than one``        ``// factor, then return false``        ``if` `(N % i == 0)``            ``return` `false``;``    ``}` `    ``// Otherwise, return true``    ``return` `true``;``}` `// Function to find X which is co-prime``// with the integers from the range [L, R]``int` `findCoPrime(``int` `L, ``int` `R)``{``    ``// Store the resultant number``    ``int` `coPrime;` `    ``// Check for prime integers``    ``// greater than R``    ``for` `(``int` `i = R + 1;; i++) {` `        ``// If the current number is``        ``// prime, then update coPrime``        ``// and break out of loop``        ``if` `(isPrime(i)) {``            ``coPrime = i;``            ``break``;``        ``}``    ``}` `    ``// Print the resultant number``    ``return` `coPrime;``}` `// Driver Code``int` `main()``{``    ``int` `L = 16, R = 17;``    ``cout << findCoPrime(L, R);` `    ``return` `0;``}`

## Java

 `// Java program for the above approach``import` `java.io.*;``import` `java.lang.*;``import` `java.util.*;` `class` `GFG{` `// Function to check whether the``// given number N is prime or not``static` `boolean` `isPrime(``int` `N)``{``    ` `    ``// Base Case``    ``if` `(N == ``1``)``        ``return` `false``;` `    ``for``(``int` `i = ``2``; i * i <= N; i++)``    ``{``        ` `        ``// If N has more than one``        ``// factor, then return false``        ``if` `(N % i == ``0``)``            ``return` `false``;``    ``}` `    ``// Otherwise, return true``    ``return` `true``;``}` `// Function to find X which is co-prime``// with the integers from the range [L, R]``static` `int` `findCoPrime(``int` `L, ``int` `R)``{``    ` `    ``// Store the resultant number``    ``int` `coPrime;` `    ``// Check for prime integers``    ``// greater than R``    ``for``(``int` `i = R + ``1``;; i++)``    ``{``        ` `        ``// If the current number is``        ``// prime, then update coPrime``        ``// and break out of loop``        ``if` `(isPrime(i))``        ``{``            ``coPrime = i;``            ``break``;``        ``}``    ``}` `    ``// Print the resultant number``    ``return` `coPrime;``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `L = ``16``, R = ``17``;``    ` `    ``System.out.println(findCoPrime(L, R));``}``}` `// This code is contributed by Kingash`

## Python3

 `# Python3 program for the above approach` `# Function to check whether the``# given number N is prime or not``def` `isPrime(N):``    ``# Base Case``    ``if` `(N ``=``=` `1``):``        ``return` `False` `    ``for` `i ``in` `range``(``2``, N ``+` `1``):``        ``if` `i``*``i > N:``            ``break``            ` `        ``# If N has more than one``        ``# factor, then return false``        ``if` `(N ``%` `i ``=``=` `0``):``            ``return` `False` `    ``# Otherwise, return true``    ``return` `True` `# Function to find X which is co-prime``# with the integers from the range [L, R]``def` `findCoPrime(L, R):``  ` `    ``# Store the resultant number``    ``coPrime, i ``=` `0``, R ``+` `1` `    ``# Check for prime integers``    ``# greater than R``    ``while` `True``:` `        ``# If the current number is``        ``# prime, then update coPrime``        ``# and break out of loop``        ``if` `(isPrime(i)):``            ``coPrime ``=` `i``            ``break``        ``i ``+``=` `1` `    ``# Print the resultant number``    ``return` `coPrime` `# Driver Code``if` `__name__ ``=``=` `'__main__'``:``    ``L,R ``=` `16``, ``17``    ``print` `(findCoPrime(L, R))` `# This code is contributed by mohit kumar 29.`

## C#

 `// C# program for the above approach``using` `System;` `class` `GFG{` `// Function to check whether the``// given number N is prime or not``static` `bool` `isPrime(``int` `N)``{``    ` `    ``// Base Case``    ``if` `(N == 1)``        ``return` `false``;` `    ``for``(``int` `i = 2; i * i <= N; i++)``    ``{``        ` `        ``// If N has more than one``        ``// factor, then return false``        ``if` `(N % i == 0)``            ``return` `false``;``    ``}` `    ``// Otherwise, return true``    ``return` `true``;``}` `// Function to find X which is co-prime``// with the integers from the range [L, R]``static` `int` `findCoPrime(``int` `L, ``int` `R)``{` `    ``// Store the resultant number``    ``int` `coPrime;` `    ``// Check for prime integers``    ``// greater than R``    ``for``(``int` `i = R + 1;; i++)``    ``{``        ` `        ``// If the current number is``        ``// prime, then update coPrime``        ``// and break out of loop``        ``if` `(isPrime(i))``        ``{``            ``coPrime = i;``            ``break``;``        ``}``    ``}` `    ``// Print the resultant number``    ``return` `coPrime;``}` `// Driver Code``public` `static` `void` `Main(``string``[] args)``{``    ``int` `L = 16, R = 17;` `    ``Console.WriteLine(findCoPrime(L, R));``}``}` `// This code is contributed by ukasp`

## Javascript

 ``
Output:
`19`

Time Complexity: O(L * R1/2)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up