Originariamente inviato da VincenzoTheBest
Innanzitutto M non è una matrice, bensì un array.
E' vero!l' ho chiamata matrice per cattiva abitudine...ma so che la matrice è formata da righe e colonne mentre questo array ha solo una riga... sorry!

Poi la soluzione non è effettivamente corretta: se M fosse grande 3 otterresti un errore a run time, quindi puoi trovare sicuramente una soluzione diversa.
Cosa dovrei fare? un controllo con un if cosi magari?:
codice:
if(dim<4)
return false;
Terza cosa: per come hai definito la funzione, l'indice i deve partire da 0, altrimenti non verifichi la prima somma.
Ah è vero!

Per quanto riguarda il parametro aggiuntivo, penso sia meglio esplicitare (usando appunto un parametro) come la sequenza di resti deve iniziare, perchè la traccia dice:
Ma cosa si intende per prima invocazione? La traccia vuole sapere come viene chiamata la funzione nel main? o Cosa? non ho ben capito!