Примечание:
Если к числу в двоичной системе счисления приписывать в конец цифры, то число увеличивается и никак не может уменьшится. Поэтому, n<f(n). Следовательно, перебор различных чисел, принадлежащих отрезку [90;160], можно смело ставить до 160 (можно и меньше, но лень расписывать вычисления).
ToBinary - функция перевода числа из десятичной СС в двоичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
FromBinary - функция перевода числа из двоичной СС в десятичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
func - функция, которая выполняет преобразования числа согласно условию (пункты 1, 2, 3, 4).
Код кажется большим только из-за процедур и begin/endов. Без них - всего то 7 строчек :). В скринах можно проверить, действительно ли 19 (40-22+1).
Пример работы:
ответ: Определим, во сколько второе соединение быстрее первого:
2048 / 512 = 2^11 / 2^9 = 2^2 = 4, то есть скорость второго соединения выше в четыре раза.
Так как скорость выше в четыре раза, то и объем, который будет передан за то же время, увеличится в четыре раза. По первому соединению было передано 4096 байт, что равно 4 Кбайт, т.к. 4096/1024=4.
Скорость второго соединения в четыре раза выше, 4*4 = 16 Кбайт.
ответ: 16 Кбайт.
Объяснение: