Skip to content
Related Articles

Related Articles

Greatest divisor which divides all natural number in range [L, R]
  • Difficulty Level : Easy
  • Last Updated : 13 Feb, 2019
GeeksforGeeks - Summer Carnival Banner

Given two integers L and R, the task is to find the greatest divisor that divides all the natural numbers in the range [L, R].

Examples:

Input: L = 3, R = 12
Output: 1

Input: L = 24, R = 24
Output: 24

Approach: For a range of consecutive integer elements, there are two cases:



  • If L = R then the answer will L.
  • If L < R then all consecutive natural numbers in this range are co-primes. So, 1 is the only number that will be able to divide all the elements of the range.

Below is the implementation of the above approach:

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
  
// Function to return the greatest divisor that
// divides all the natural numbers in the range [l, r]
int find_greatest_divisor(int l, int r)
{
    if (l == r)
        return l;
  
    return 1;
}
  
// Driver Code
int main()
{
    int l = 2, r = 12;
  
    cout << find_greatest_divisor(l, r);
}

Java




// Java implementation of the approach 
  
class GFG {
  
// Function to return the greatest divisor that 
// divides all the natural numbers in the range [l, r] 
    static int find_greatest_divisor(int l, int r) {
        if (l == r) {
            return l;
        }
  
        return 1;
    }
  
// Driver Code 
    public static void main(String[] args) {
        int l = 2, r = 12;
  
        System.out.println(find_greatest_divisor(l, r));
    }
}
// This code is contributed by PrinciRaj1992

Python3




# Python3 implementation of the approach
  
# Function to return the greatest divisor that
# divides all the natural numbers in the range [l, r]
def find_greatest_divisor(l, r):
  
    if (l == r):
        return l;
  
    return 1;
  
  
# Driver Code
  
l = 2;
r = 12;
  
print(find_greatest_divisor(l, r));
  
#This code is contributed by Shivi_Aggarwal

C#




// C# implementation of the approach 
using System;
  
class GFG { 
  
    // Function to return the greatest divisor that 
    // divides all the natural numbers in the range [l, r] 
    static int find_greatest_divisor(int l, int r) { 
        if (l == r) { 
            return l; 
        
  
        return 1; 
    
  
    // Driver Code 
    public static void Main() { 
        int l = 2,  r = 12 ;
  
        Console.WriteLine(find_greatest_divisor(l, r)); 
    
    // This code is contributed by Ryuga
  

PHP




<?php
// PHP implementation of the approach
  
// Function to return the greatest 
// divisor that divides all the natural 
// numbers in the range [l, r]
function find_greatest_divisor($l, $r)
{
    if ($l == $r)
        return $l;
  
    return 1;
}
  
// Driver Code
$l = 2;
$r = 12;
  
echo find_greatest_divisor($l, $r);
  
// This code is contributed by jit_t
?>
Output:
1

Time Complexity: O(1)

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.
My Personal Notes arrow_drop_up
Recommended Articles
Page :