####################################### ## M Matematica. M.horner = function (v, alfa=2) {n=length(v)-1; if (n==0) v else alfa*M.horner(v[1:n],alfa)+v[n+1]} M.matrice = function (dati, righe=NULL, col=NULL) {if (!is.null(righe)) matrix(dati,nrow=righe,byrow=T) else if (!is.null(col)) matrix(dati,ncol=col) else NULL} # Rapprensentazione binaria di n. # Se viene indicato cifre, le posizioni # iniziali mancanti vengono riempite con zeri. M.rapp2 = function (n, cifre=NA) {if (n<=1) v=c(n) else if (n%%2==0) v=c(M.rapp2(n/2),0) else v=c(M.rapp2((n-1)/2),1) if (is.na(cifre)) v else {n=length(v); if (n>=cifre) v else c(rep(0,cifre-n),v)}} M.rapp1000 = function (n) {if (n<0) c(-1,M.rapp1000(-n)) else if (n<1000) c(n) else c(M.rapp1000(n%/%1000),n%%1000)}