Ho un problema con Figonacci, il mio codice risolve tutti i subtask a parte il quarto in cui lo 026 e lo 027 mi danno Output non corretto, non vedo dove possa essere il problema visto che presumo che lo 028 usi numeri piu elevati dello 027 e dello 026 e il mio algoritmo si basa sui numeri precedenti.
int enumera(int N, int M) {
int gN;
int gPrec = 1;
int somma = -1;
int i;
if(N == 0){
return (-1 % M + M) % M;
}else if(N == 1){
return 0;
}else if(N == 2){
return (1 % M + M) % M;
}else{
for(i = 3 ; i <= N ; i++){
gN = ((((i - 1) * gPrec) % M + M) % M) - ((somma % M + M) % M);
somma = ((somma % M + M) % M) + ((gPrec % M + M) % M);
gPrec = (gN % M + M) % M;
}
return (gN % M + M) % M;
}
}