Problem:
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

Solution in C (judge verdict: Accepted)

#include<stdio.h>
int main(){
  int x,y,i,r,tmp,max;
  scanf("%d %d",&x,&y);
  if(y > x){
    tmp = x;
    x = y;
    y = tmp;
  }
  r = x % y;
  if(r == 0) max = x;
  else{
    for(i = 1;i <= r; i++){
      if(r%i == 0){
        if(y % i ==0){
          max = i;
        }
      }
    }
  }
  printf("%d\n",max);
  return 0;
}