Tabulate k = 2^n minimizing multiplication
If you use 1 instead of 2 as the number to shift, you won't have to subtract one from n. I.e. you can just define k as (ash 1 n).

Other than that your code looks fine.