GCD of elements in a given range
Last Updated :
16 Jun, 2022
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.
C++
#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
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));
}
}
|
Python3
def rangeGCD(n, m):
return n if (n = = m) else 1
n, m = 475 , 475
print (rangeGCD(n, m))
|
C#
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));
}
}
|
PHP
<?php
function rangeGCD( $n , $m )
{
return ( $n == $m )? $n : 1;
}
$n = 475;
$m = 475;
echo rangeGCD( $n , $m );
?>
|
Javascript
<script>
function rangeGCD( n, m)
{
return (n == m) ? n : 1;
}
var n = 475;
var m = 475;
document.write(rangeGCD(n, m));
</script>
|
Output:
475
Time Complexity: O(1)
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...