Непонятно. Случайное число берем один раз и фиксируем, или оно разное на каждом шаге?
Результаты нужны только уникальные? Так-то на каждом шаге вычиаем и 1 и 2, так что количество результатов увеличивается в 2 раза и будет что-то порядка 2^150 результатов в конце. Можно ли вычитать в отрицательные числа?
haqz, Понятнее не стало. У вас какие-то иксы, игреки, зеды. Двойные/тройные индексы, от балды меняющиеся. Где-то i в индексах проскакивает, где-то нет. Полная мешанина, короче.
Уменьшите задачу еще. Пусть изначальне число 10. Делаем ровно 2 шага. На каждом шаге можно вычитать 1 и 2. Вот распишите все числа на каждом шаге. значениями числовыми и как они вычислялись.
Формулы со * оборачивайте в тег code (кнопка </> в редакторе), а то похоже часть их съедается парсером.
У вас неправильно написан алгоритм. Либо "Берем все прошлые результаты и из них еще раз вычитаем по 1 и по 2", либо "r2= r1 - 1 - n, r22 = r11 - 1 - n".
haqz, если вы на каждом шаге вычисляете r[1,i+1]=r[2,i]-1-n и r[2,i+1]=r[2,i]-2-n, то всего получится 2*150=300 результатов, из которых на последнем шаге будет ровно два.