La tua funzione è sbagliata: ogni chiamata ricorsiva ha la "sua" variabile count, che non è modificata dalle chiamate ricorsive che fai, per cui di fatto la tua funzione restituirà sempre 1 (dato che ogni volta count viene inizializzata a 0 e quindi incrementata di 1).