GCD of elements in a given range

Given two numbers n and m. Find the biggest integer a(gcd), such that all integers n, n + 1, n + 2, …, m are divisible by a.

Examples:

Input : n = 1, m = 2
Output: 1
Explanation:
Here, series become 1, 2. So, the 
greatest no which divides both of 
them is 1.

Input : n = 475, m = 475
Output : 475
Explanation:
Here, series has only one term 475.
So, greatest no which divides 475 is 475.

Here, We have to examine only two cases:

  1. if a = b : the segment consists of a single number, hence the answer is a.
  2. if a < b : we have gcd(n, n + 1, n?+ 2, …, m) = gcd(gcd(n, n + 1), n + 2, …, m) = gcd(1, n + 2, …, n) = 1.
  3. Below is the code for above approach.

    C++

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // GCD of given range
    #include <bits/stdc++.h>
    using namespace std;
      
    int rangeGCD(int n, int m)
    {
        return (n == m)? n : 1;
    }
      
    int main()
    {
        int n = 475;
        int m = 475;
        cout << rangeGCD(n, m);
        return 0;
    }

    chevron_right

    
    

    Java

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // GCD of given range
      
    import java.io.*;
      
    class GFG {
      
        static int rangeGCD(int n, int m)
        {
            return (n == m) ? n : 1;
        }
      
        public static void main(String[] args)
        {
            int n = 475;
            int m = 475;
              
            System.out.println(rangeGCD(n, m));
        }
    }
      
    // This code is contributed by Ajit.

    chevron_right

    
    

    Python3

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

       
    # GCD of given range
      
    def rangeGCD(n, m):
        return n if(n == m) else 1
          
    # Driver code
    n, m = 475, 475
    print(rangeGCD(n, m))
      
    # This code is contributed by Anant Agarwal.

    chevron_right

    
    

    C#

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // GCD of given range
    using System;
       
    class GFG {
       
        static int rangeGCD(int n, int m)
        {
            return (n == m) ? n : 1;
        }
       
        public static void Main()
        {
            int n = 475;
            int m = 475;
               
            Console.WriteLine(rangeGCD(n, m));
        }
    }
       
    // This code is contributed by Anant Agarwal.

    chevron_right

    
    

    PHP

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php
    // PHP program for 
    // GCD of given range
      
    // function returns the GCD
    function rangeGCD($n, $m)
    {
        return ($n == $m)? $n : 1;
    }
      
        // Driver Code
        $n = 475;
        $m = 475;
        echo rangeGCD($n, $m);
          
    // This code is contributed by anuj_67.
    ?>

    chevron_right

    
    


    Output:

    475
    


    My Personal Notes arrow_drop_up


    If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



    Improved By : vt_m



    Article Tags :
    Practice Tags :


    Be the First to upvote.


    Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.