В 12-ричной системе счисления.
77 = 7 * 8 + 7 = 63.
53 = 12 * 5 + 3 = 63.
2ⁿ=512 ⇒
⇒ n = ㏒2(512) ⇒
⇒ n = 9 (бит);
Ответ: 9 бит.
Насколько я понимаю, этот код "переворачивает" трехзначное число (цифры в десятичном представлении идут наоборот, то есть на входе 123, на выходе будет 321).
Пишу по строчкам программы чему равны переменные и что происходит:
допустим a = 271 (это строка со знаком вопроса - 1)
2) с = 1, a = 271 (в 'с' взяли младшую цифру остатком от деления на 10)
3) c = 1, a = 27 (целочисленное деление 271/10 переменной 'а')
4) с = 17, a=27 ('с' умножили на 10 и добавили младшую цифру от 'a')
5) a = 172 ('c' умножили на 10 и добавили старшую цифру от прошлого значения 'a', которую получили делением на 27/10)