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:

- if a = b : the segment consists of a single number, hence the answer is a.
- 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 DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.