Skip to content
Related Articles

Related Articles

GCD of elements in a given range
  • Difficulty Level : Hard
  • Last Updated : 14 May, 2018

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.

    Below is the code for above approach.

    C++




    // 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;
    }

    Java




    // 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.

    Python3




       
    # 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.

    C#




    // 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.

    PHP




    <?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.
    ?>


    Output:
    475
    

    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
Recommended Articles
Page :