Greatest Common Divisor
Write a program which finds the greatest common divisor of two natural numbers a and b
Input
a and b are given in a line sparated by a single space.
Output
Output the greatest common divisor of a and b.
Constrants
1 ≤ a, b ≤ 109
Hint
You can use the following observation:
For integers x and y, if x ≥ y, then gcd(x, y) = gcd(y, x%y)
Sample Input 1
54 20
Sample Output 1
2
Sample Input 2
147 105
Sample Output 2
21
#include<iostream>
using namespace std;
int gcd(int x,int y){
if(x < y) swap(x,y);
int b;
while(x % y != 0){
b = x;
x = y;
y = b % y;
}
return y;
}
int main(){
int x,y;
cin >> x >> y;
cout << gcd(x,y) <<endl;
return 0;
}