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
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.