J'essayais donc d'écrire le n ème nombre dans la séquence de Fibonacci dans une fonction aussi compacte que possible:
public uint fibn ( uint N )
{
return (N == 0 || N == 1) ? 1 : fibn(N-1) + fibn(N-2);
}
Mais je me demande si je peux rendre cela encore plus compact et efficace en changeant
(N == 0 || N == 1)
en une seule comparaison. Existe-t-il une opération de décalage de bits sophistiquée qui peut faire cela?
fibn(N-1) + fibn(N-2)
au lieu de N * fibn(N-1)
?