Итак, я пытался записать n-е число в последовательности Фибоначчи как можно более компактную функцию:
public uint fibn ( uint N )
{
return (N == 0 || N == 1) ? 1 : fibn(N-1) + fibn(N-2);
}
Но мне интересно, могу ли я сделать это еще более компактным и эффективным, изменив
(N == 0 || N == 1)
в одно сравнение. Есть ли какая-нибудь фантастическая операция сдвига бит, которая может это сделать?