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}
1#include<iostream>
2using namespace std;
3
4int euclid_gcd(int a, int b) {
5 if(a==0 || b==0) return 0;
6 int dividend = a;
7 int divisor = b;
8 while(divisor != 0){
9 int remainder = dividend%divisor;
10 dividend = divisor;
11 divisor = remainder;
12 }
13 return dividend;
14}
15
16int main()
17{
18 cout<<euclid_gcd(0,7)<<endl;
19 cout<<euclid_gcd(55,78)<<endl;
20 cout<<euclid_gcd(105,350)<<endl;
21 cout<<euclid_gcd(350,105)<<endl;
22 return 0;
23}