64 is the correct answer but algebraic reach is as under

let him start with x dollars

he spends x/2 +2 in the first store and is left with x/2-2 dollars

he spends half of this +1 means x/4-1+1 in the second store and is left with x/4-2

he spends half of this +1 means x/8-1+1 in the third store and is left with x/8-2

he spends half of this means x/16-1 in the last store and is left with x/16-1 which is 3 dollars giving x=64

Let us check

out of 64 spent in first store 34 left with 30

out of 30 spent in second store 16 left with 14

out of 14 spent in third store 8 left with 6

spends 3 in the last store and is left with 3