Open In App

Algorithms | Divide and Conquer | Question 2

Consider the following C program




int main() 
   int x, y, m, n; 
   scanf ("%d %d", &x, &y); 
   /* x > 0 and y > 0 */
   m = x; n = y; 
   while (m != n) 
   
      if(m>n) 
         m = m - n; 
      else
         n = n - m; 
   
   printf("%d", n); 
}

What does the program compute? (GATE CS 2004)
(A) x + y using repeated subtraction
(B) x mod y using repeated subtraction
(C) the greatest common divisor of x and y
(D) the least common multiple of x and y

Answer: (C)
Explanation: This is an implementation of Euclid’s algorithm to find GCD

Article Tags :