Что делает следующий цикл?
Он вычисляет [мощность a] - [мощность b] + 1
Есливы смотрите на битовые паттерны, это становится совершенно ясно.Для начальных значений a = 2 10 и b = 2 5 это выглядит так:
k = 0, a = 10000000000, b = 100000
k = 1, a = 10000100000, b = 1000000
k = 2, a = 10001100000, b = 10000000
k = 3, a = 10011100000, b = 100000000
k = 4, a = 10111100000, b = 1000000000
k = 5, a = 11111100000, b = 10000000000
Здесь - идеон.com demo.
Для значений, которые вы упоминаете в своем посте, я получаю k = 718.