1// gcd function definition below:
2int gcd(int a, int b) {
3 if (b == 0)
4 return a;
5 return gcd(b, a % b);
6}
7
8int a = 105, b = 30;
9cout<<"GCD of "<< a <<" and "<< b <<" is "<< gcd(a, b);
10// output = "GCD of 105 and 30 is 15";
1#include<iostream>
2using namespace std;
3long long gcd(long long a, long long b)
4{
5 if (b == 0)
6 return a;
7 return gcd(b, a % b);
8
9}
10int main()
11{
12 long long a,b;
13 cin>>a>>b;
14 cout<<gcd(a,b);
15}
1int gcd(int a, int b)
2{
3 // Everything divides 0
4 if (a == 0)
5 return b;
6 if (b == 0)
7 return a;
8 // base case
9 if (a == b)
10 return a;
11 // a is greater
12 if (a > b)
13 return gcd(a-b, b);
14 return gcd(a, b-a);
15}