Значит делаю так:
сперва проверяю на чётность
потом проверяю на 2^n-1
и в остальных случаях просто вычитаю 1
Кстати, мне препод говорил, что существует специальная функция определения чётности числа. Это какая?
Добавлено через 2 минуты

Сообщение от
neske
Я думаю в первую очередь число нужно довести до вида - двойки в n степени, за минимальное число шагов разумеется
хз, можно попробовать=)
Somebody, спасибо! Приеду из универа, погляжу...
Добавлено через 22 минуты
Somebody, пока просто закинул данный код в Visual C++, он откомпилировался, но не работает. Ввожу число, немного тормозит а потом ошибка вылетает.