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