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