# C Program for Basic Euclidean algorithms

Last Updated : 05 Nov, 2021

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

 `// C program to demonstrate Basic Euclidean Algorithm` `#include `   `// 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))

Auxiliary Space: O(1)
Please refer complete article on Basic and Extended Euclidean algorithms for more details!