Dunque ho trovato un paio di modi online per il mcd con la ricorsione.
nel primo non capisco mcd(y,x%y);
e in questo se lo provo si blocca.. e il significato dell'm-n
nel primo non capisco mcd(y,x%y);
Codice:
#include <cstdlib>
#include <ctime>
#include <cmath>
#include <iostream>
using namespace std;
/*
int mcd (int x, int y)
{
if (y==0)
return x;
return mcd(y,x%y);
}
int main()
{
int x;
cin>>x;
int y;
cin>>y;
cout<<mcd(x,y);
}
e in questo se lo provo si blocca.. e il significato dell'm-n
Codice:
#include <cstdlib>
#include <ctime>
#include <cmath>
#include <iostream>
using namespace std;
int mcd(int m, int n)
{if (m==n)
return m;
else
if (m>n)
return mcd(m-n, n);
else return mcd(m, n-m);
}
int main()
{
int m;
cin>>m;
int n;
cin>>n;
cout<<mcd(m,n);
}