C/Blocchi e funzioni/Ricorsività: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
sostituz. f con F maiuscola |
Nessun oggetto della modifica Etichetta: Editor wikitesto 2017 |
||
Riga 33:
{{IndexItem|fattoriale}}[[w:Fattoriale|Fattoriale]] di un numero (versione non ricorsiva):
<
int fatt (int N) {
int F=1;
Riga 40:
return F;
}
</syntaxhighlight>
Fattoriale di un numero (versione ricorsiva):
<
int fattr (int N) {
if (N==0) return 1; /* BASE DELLA RICORSIONE*/
return N * fattr(N-1); /* PASSO DELLA RICORSIONE*/
}
</syntaxhighlight>
<
// lo stesso codice in versione piu' ridotta e criptica
int fattr (int N) {
return N ? N * fattr(N-1) : 1;
}
</syntaxhighlight>
Algoritmo che genera la {{IndexItem|Fibonacci, successione}}successione di [[w:Fibonacci|Fibonacci]]:
<
int fibor (int N) {
if (N == 1 || N == 2) return 1; /* BASE DELLA RICORSIONE*/
return fibor(N-1) + fibor(N-2); /* PASSO DELLA RICORSIONE*/
}
</syntaxhighlight>
==Problemi dovuti a errori==
|