1. Для наглядности построй в столбик значения двойки в степенях от 0 до 7. Это будет 1, 2, 4, 8, 16, 32, 64, 128.
2. Разложи число (Внимание! Обязательно только из десятичной системы счисления) на числа из построенного ранее столбика.
К примеру возьмем число 37. 37=32+4+1.
2. Отсчитывай от числа из столбика 128 до 1. Если в разложении имеется это число, то пиши 1. Иначе 0.
0(128 нету) 0(64 нету) 1(32 есть!) 0(16 нету) 0 1 0 1
Цифр должно получиться восемь. Лучше пересчитать на случай, если случайно забыл ряд.
То есть по этому алгоритму .
И, конечно же, пробуй переводить числа самостоятельно. Сухая теория тут не имеет места.
На 1 символ у племени мульти требуется log₂16 = 4 бита
На сообщение из 100 символов - 100*4 = 400 бит
Для племени пульти получится соответственно log₂32=5 бит,
на все сообщение 50*5=250 бит
Сравниваем: 400 бит > 250 бит
Если в задаче 17, а не 16, то значение логарифма получится не целым (4.08746284125), можно это значение дальше и подставлять. Если считать, что каждый символ кодируется целым числом бит, то на 1 символ у племени мульти потребуется также 5 бит (округление выполняют всегда в большую сторону). Остальные расчеты делаются аналогично