Skip to content
Related Articles

Related Articles

Algorithms | Analysis of Algorithms | Question 14

View Discussion
Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 28 Jun, 2021

In the following C function, let n >= m.

int gcd(n,m)
  if (n%m ==0) return m;  
  n = n%m;
  return gcd(m, n);

How many recursive calls are made by this function?
(A) \theta(logn)
(B) \Omega(n)
(C) \theta(loglogn)
(D) \theta(sqrt(n))
(A) A
(B) B
(C) C
(D) D

Answer: (A)

Explanation: Above code is implementation of the Euclidean algorithm for finding Greatest Common Divisor (GCD).
Please see for time complexity.

Quiz of this Question

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!