Либо я чего-то не понял, либо подходят два класса:

и

- количество нулей в середине

, нули в каждой позиции можно ставить любой из двух, соответственно общее количество легко считается по количеству комбинаций нулей. Зачем здесь битовое кодирование не понял.