2012/13 – Fase scolastica – 07

Cosa restituisce la seguente funzione?

Function f(n: Integer): Integer;
Var
   k: Integer;
Begin
   k:=2;
   While((k*k <= n) And (n Mod k <> 0)) Do
      k:=k+1;
   If(k*k > n) Then
      f:=1
   Else
      f:=0
End;
  1. 0 se k<n e 1 altrimenti
  2. 1 se n è primo e 0 altrimenti
  3. 0 se n è primo e 1 altrimenti
  4. 1 se n=k*k e 0 altrimenti