この場合 k は 1, 2, 4, .. (または 0)になるので if k==0 ではなく if k!=0 で調べます。 if k then とも書けて、これは if k!=0 と厳密に同じです。