C ++ Algorytm Euklidesa wersja z odejmowaniem

// Algorytm Euklidesa wersja z odejmowaniem RRS
#include<iostream>
#include<cstdlib> //biblioteka zawierająca funkcje ogólne
using namespace std;
int NWD(int a, int b)
	{
	if(a!=b)                              // operator logiczny relacji, zwracający wartość niezerową, gdy x jest różny od y, //zerową w przeciwnym wypadku
	return NWD(a>b?a-b:a,b>a?b-a:b);      //warunek, jeżeli warunek jest prawdziwy to //wyrażenie ma wartość pierwszą, jeżeli fałszywe to drugie
	return a;
	}

int main()
	{
	int a, b;
	cout<<"Podaj dwie liczby: ";
	cin>>a>>b;
	cout<<"NWD("<<a<<","<<b<<") = "<<NWD(a,b)<<endl;
	system("pause");
	return 0;
	}