
function v=divisori(n)

% Oggetto:
% Scrivere una funzione Matlab "divisori" avente come input un numero
% intero "n" e in output la variabile "v" che contiene i divisori positivi
% del numero "n",?inferiori a "n".

% si ponga "v" pari al vettore nullo
v=[];

% si applichi la funzione "isscalar" alla variabile "n" e si assegni il
% risultato nella variabile "flag";
flag=isscalar(n);

% si testi se il vettore "flag" e' pari a "0" ed in tal caso,
% A. si scriva su monitor "La variabile di input  non e' ?scalare", facendo
%    attenzione a descrivere correttamente il testo
% B. esca dalla routine scegliendo se necessiti break" o return";
if flag == 0
    fprintf('La variabile di input non e'' uno scalare');
    return;
end

% se, altrimenti, "flag" e' pari a "1",
% 1. ponga "L" pari alla parte intera "verso il basso" di "n/2";
% 2. con un ciclo for avente indice "k" da "1" a "L" valuti "rem(n,k)" e lo
%    assegni alla variabile "resto";
% 3. se "resto" vale "0", si ponga in "Lv" la lunghezza del vettore "v" e
%    si ponga la componente "Lv+1" del vettore "v" pari a "k".
if flag == 1
    L=floor(n/2);
        for k=1:L
            resto=rem(n,k);
            if resto == 0
                Lv=length(v);
                v(Lv+1)=k;
            end
        end
end


