A fusc függvény egy egész szám függvény a természetes számok halmazán, amelyet E. Dijkstra a következőképpen határoz meg [1] :
A függvény által generált sorozat a
1, 1, 2, 1, 3, 2, 3, 1, 4, 3, 5, 2, 5, 3, 4, …Ez a Stern kovaatom szekvencia ( A002487 szekvencia az OEIS -ben ). A fusc függvény a Culkin-Wilf sorozathoz kapcsolódik , nevezetesen a Culkin-Wilf szekvencia harmadik tagja , és a megfelelés
a természetes számok halmaza és a pozitív racionális számok halmaza közötti egy-egy megfeleltetés.
Legyen és , majd [1] :
A függvény értéke nem változik, ha az argumentum bináris reprezentációjában az összes belső számjegyet [2] megfordítják . Például azért, mert 19 10 = 10011 2 és 29 10 = 11101 2 .
A függvény értéke akkor sem változik, ha az összes számjegyet az argumentum bináris reprezentációjában fordított sorrendben írjuk be [2] . Például azért, mert 19 10 = 10011 2 és 25 10 = 11001 2 .
Az érték akkor és csak akkor páros, ha osztható 3 -mal [2] .
A függvénynek vannak tulajdonságai
Az érték megegyezik az űrlap második fajtájához tartozó összes páratlan Stirling-szám számával , és egyenlő a forma összes páratlan binomiális együtthatójának számával , ahol [3] .
A fusc függvény definíciós rekurzív kiértékelése mellett létezik egy egyszerű iteratív algoritmus [1] :
fusc(N): n, a, b = N, 1, 0 míg n ≠ 0: ha n páros: a, n = a + b, n / 2 ha n páratlan: b, n = a + b, (n - 1) / 2 fusc(N) = b