Я нашел проблему, в которой вам дают этот тип последовательности:
у тебя есть
the first K terms : a1, a2, ... , ak;
K coefficients : b1, b2, ... , bk
и повторение:
S(i) = b1*S(i-K) + b2*S(i-K+1) + ... + bk*S(i-1).
Я должен выяснить N-й термин.
Я считаю, что эту проблему можно решить с помощью быстрого возведения в матрицу, но мне трудно найти матрицы, которые я должен использовать. Я пытаюсь написать проблему на C ++. Может кто-нибудь дать мне несколько советов о том, как я должен относиться к этому типу проблемы?
В качестве бесстыдной саморекламы я закодировал программа для решения линейных повторений с использованием умножения матриц. Комментарии в верхней части файла описывают, какую матрицу вы хотите сформировать, а также как использовать алгоритм повторного возведения в квадрат для эффективного вычисления n-го члена повторения.
Надеюсь это поможет!
Других решений пока нет …