def countOdd(L): if L == []: return 0 if L[0]%2 == 1: return 1 + countOdd(L[1:]) return 0 + countOdd(L[1:]) def fib(n,D): if n == 0: return 0 if n == 1: return 1 if n in D: return D[n] D[n] = fib(n-1,D) + fib(n-2,D) return D[n] #print (fib(50,{})) def tofH(n,start, end, temp): if n == 1: print ("move ",start," to ", end) return tofH(n-1,start,temp,end) print ("move ",start," to ", end) tofH(n-1,temp,end,start) tofH(4,"A","C","B")