function r = radQuad3(n) % radice quadrata intera di un numero naturale if n < 0 || n ~= floor(n) r = NaN; % un valore fittizio indica risultato non definito else r = 0; % prima stima (per difetto) della radice quadrata di `n` q = 0; % prendera` come valori i quadrati perfetti consecutivi for d = 1:2:n+3 % fprintf('r=%u, q=%u, d=%u\n',r,q,d); if q == n return; % evado dal ciclo `for` e dall'intero metodo end if q > n r = r-1; return; % evado dal ciclo `for` e dall'intero metodo end r = r+1; q = q+d; end end end