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):
 
<sourcesyntaxhighlight lang="c">
int fatt (int N) {
int F=1;
Riga 40:
return F;
}
</syntaxhighlight>
</source>
 
Fattoriale di un numero (versione ricorsiva):
 
<sourcesyntaxhighlight lang="c">
int fattr (int N) {
if (N==0) return 1; /* BASE DELLA RICORSIONE*/
return N * fattr(N-1); /* PASSO DELLA RICORSIONE*/
}
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang="c">
// lo stesso codice in versione piu' ridotta e criptica
int fattr (int N) {
return N ? N * fattr(N-1) : 1;
}
</syntaxhighlight>
</source>
 
Algoritmo che genera la {{IndexItem|Fibonacci, successione}}successione di [[w:Fibonacci|Fibonacci]]:
 
<sourcesyntaxhighlight lang="c">
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>
</source>
 
==Problemi dovuti a errori==