Funcția fusc este o funcție întreagă pe mulțimea numerelor naturale, definită de E. Dijkstra după cum urmează [1] :
Secvența generată de această funcție este
1, 1, 2, 1, 3, 2, 3, 1, 4, 3, 5, 2, 5, 3, 4, …Aceasta este secvența de diatomee Stern (secvența A002487 în OEIS ). Funcția fusc este legată de secvența Culkin-Wilf , și anume, al treilea termen al secvenței Culkin-Wilf este , iar corespondența
este o corespondență unu-la-unu între mulțimea numerelor naturale și mulțimea numerelor raționale pozitive.
Fie și , apoi [1] :
Valoarea funcției nu se va schimba dacă toate cifrele interne [2] sunt inversate în reprezentarea binară a argumentului . De exemplu, deoarece 19 10 = 10011 2 și 29 10 = 11101 2 .
De asemenea, valoarea funcției nu se va modifica dacă toate cifrele sunt scrise în reprezentarea binară a argumentului în ordine inversă [2] . De exemplu, deoarece 19 10 = 10011 2 și 25 10 = 11001 2 .
Valoarea este chiar dacă și numai dacă este divizibil cu 3 [2] .
Funcția are proprietăți
Valoarea este egală cu numărul tuturor numerelor impare Stirling din al doilea fel al formei și este egală cu numărul tuturor coeficienților binomi impari din forma , unde [3] .
Pe lângă evaluarea recursivă a funcției fusc prin definiție, există un algoritm iterativ simplu [1] :
fusc(N): n, a, b = N, 1, 0 în timp ce n ≠ 0: dacă n este par: a, n = a + b, n / 2 daca n este impar: b, n = a + b, (n - 1) / 2 fusc(N) = b