2014/15 – Fase scolastica – 09

Si consideri la seguente funzione:

Function f(a, b: Integer): Integer;
Begin 
   If(a = b) Then
      f:=a 
   Else If(a > b) Then
      f:=f(a-b, b) 
   Else
      f:=f(a, b-a) 
End;

Cosa restituisce la funzione se viene chiamata passandole due numeri a e b maggiori di zero?

  1. 1 se a, b sono entrambi dispari, 2 altrimenti
  2. 1 se a, b sono entrambi numeri primi, 2 altrimenti
  3. il massimo comun divisore di a e b
  4. il minimo comune multiplo di a e b