C Program for Basic Euclidean algorithms

GCD of two numbers is the largest number that divides both of them. A simple way to find GCD is to factorize both numbers and multiply common factors.

`// C program to demonstrate Basic Euclidean Algorithm` `#include <stdio.h>` ` ` `// Function to return gcd of a and b` `int` `gcd(` `int` `a, ` `int` `b)` `{` ` ` `if` `(a == 0)` ` ` `return` `b;` ` ` `return` `gcd(b % a, a);` `}` ` ` `// Driver program to test above function` `int` `main()` `{` ` ` `int` `a = 10, b = 15;` ` ` `printf` `(` `"GCD(%d, %d) = %d\n"` `, a, b, gcd(a, b));` ` ` `a = 35, b = 10;` ` ` `printf` `(` `"GCD(%d, %d) = %d\n"` `, a, b, gcd(a, b));` ` ` `a = 31, b = 2;` ` ` `printf` `(` `"GCD(%d, %d) = %d\n"` `, a, b, gcd(a, b));` ` ` `return` `0;` `}` |

**Output:**

GCD(10, 15) = 5 GCD(35, 10) = 5 GCD(31, 2) = 1

**Time Complexity:** O(Log min(a, b))

Please refer complete article on Basic and Extended Euclidean algorithms for more details!

Want to learn from the best curated videos and practice problems, check out the **C Foundation Course **for Basic to Advanced C.