Примечание:
Если к числу в двоичной системе счисления приписывать в конец цифры, то число увеличивается и никак не может уменьшится. Поэтому, n<f(n). Следовательно, перебор различных чисел, принадлежащих отрезку [90;160], можно смело ставить до 160 (можно и меньше, но лень расписывать вычисления).
ToBinary - функция перевода числа из десятичной СС в двоичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
FromBinary - функция перевода числа из двоичной СС в десятичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
func - функция, которая выполняет преобразования числа согласно условию (пункты 1, 2, 3, 4).
Код кажется большим только из-за процедур и begin/endов. Без них - всего то 7 строчек :). В скринах можно проверить, действительно ли 19 (40-22+1).
Пример работы:
7
Объяснение:
Пронумеруем записи фрагмента (для удобства):
Номер Автор Название Иллюстратор Год_издания
1 Чуковский Айболит Сутеев 2000
2 Ершов Конёк-Горбунок Дмитриев 1985
3 Ершов Конёк-Горбунок Кочергин 2013
4 Перро Красная Шапочка Дехтерев 2012
5 Берестов Весёлое лето Сутеев 1982
6 Чуковский Мойдодыр Сутеев 2012
7 Ершов Конёк-Горбунок Якшис 2012
8 Пушкин Руслан и Людмила Владимирский 2005
9 Чуковский Айболит Горбушин 2009
Условию (Иллюстратор = «Сутеев») удовлетворяют записи 1, 5 и 6
Условию (Год_издания > 2005) удовлетворяют записи 3, 4, 6, 7 и 9
Условию (Иллюстратор = «Сутеев») ИЛИ (Год_издания > 2005) удовлетворяют записи 1, 3, 4, 5, 6, 7 и 9 (итого 7 записей - дублирующиеся записи (6) дважды не считаем)