I came across an interesting puzzle:

> 
> You are climbing a stair case. It takes $n$ steps to reach to the top.
>  Each time you can either climb $1$ or $2$ steps. In how many distinct
>  ways can you climb to the top?
> 
> 
> 

Is there a closed-form solution to the problem? One can *compute* it by creating a 'tree' of possibilities of each step. That is, I can either take 1 or 2 steps at each stage and terminate a branch once it sums to $n$. But this is would get really unwieldy very quickly since the maximum number of nodes in a binary tree is $2^{n+1}-1$, i.e., exponential. Is there an easier way to solving this puzzle?