Ciao ragazzi,
ho questa classe che calcola il massimo comun divisore di due numeri.
Chi riesce a spiegarmi che meccanismo c'è dietro? Nn riesco a capire come mai questo codice riesca a calcolare il MCD

codice:
  public static int Method_1(int a, int b) {
        int h=0;
        if (a == b)
            return b;
        if (b > a) {
            h = a;
            a = b;
            b = h;
        }
        return Method_1(a - b, b);
    }

Saluti
Matteo