% fattorizzazione.m % Fattorizzazione di un numero naturale. % Restituisce una matrice M di due colonne dove ogni riga contiene % la coppia (divisore, esponente). % ------------------------------------------------------------ function M=fattorizzazione(n) M=ones(0,2); % Matrice vuota 0x2. V=eratostene(n); % Vettore dei primi <= n. % Per ogni primo p<=n ... for p=V c=0; % Esponente di p. while mod(n,p)==0 n=n/p; c=c+1; end if c>0 M=[M; [p c]]; % Aggiunge P alla lista dei divisori. end if n==1 return end end