Про числа Фибоначчи я услышал еще на первом курсе института. И даже трижды, в течении следующего года, реализовывал алгоритм их расчета: - для ЕС-1035 на Фортране; - для ДВК-4М на том же Фортране, но другом; - для IBM PC на Turbo Pascal. Однако физической сути понять не мог. А тут наткнулся на ОПЗ: " Имеется пара новорожденных кроликов (самец и самка), которые, спустя два месяца начинают спариваться. Каждый месяц они производят новую пару кроликов, отвечающую первичным условиям. Сколько пар кроликов будет через год, при условии, что все кролики останутся живы? " Жаль, что нам не предлагали к решению другие его задачи по теории чисел. В те времена я бы решал их в лоб, грубым перебором. :-) Я вот тут, кстати, посмотрел как нынешние студенты решают задачу по определению всех чисел в диапазоне от N1 до N2, которые делятся на M без остатка. Оказывается всё просто: в цикле по i от N1 до N2 делят на M и проверяют остаток. Вроде бы в современных языках уже и операторов тех нет, но работает. А я своего преподавателя четверть века назад удивил. Потому что находил минимальный и максимальный множитель, а потом тупо умножал в цикле по ним на M. Внезапно выяснилось, что мой алгоритм для больших диапазонов работает в пять раз быстрее. Но зачет я не получил, потому что, формально, я не проверял числа из диапазона, а формировал набор решений, а это совсем другая задача.