Une séquence de récurrence binaire est une séquence définie récursivement de la forme suivante:
Il s'agit d'une généralisation de la x = 1, y = 2, a = [1, 1], alpha = 1, beta = 1
séquence de Fibonacci ( ) et de la séquence de Lucas ( x = 1, y = 2, a = [2, 1], alpha = 1, beta = 1
).
Le défi
Compte tenu n
, x
, y
, a
, alpha
et beta
, dans tout format raisonnable, la production n
e terme de la séquence de récurrence binaire correspondant.
Règles
- Vous pouvez choisir que la séquence soit indexée 1 ou indexée 0, mais votre choix doit être cohérent sur toutes les entrées, et vous devez noter votre choix dans votre réponse.
- Vous pouvez supposer qu'aucune entrée non valide ne sera donnée (comme une séquence qui se termine avant
n
ou une séquence qui fait référence à des termes non définis, commeF(-1)
ouF(k)
oùk > n
). À la suite de cela,x
ety
sera toujours positif. - Les entrées et sorties seront toujours des entiers, dans les limites du type entier naturel de votre langue. Si votre langue a des entiers non bornés, les entrées et sorties seront dans la plage
[2**31, 2**31-1]
(c'est-à-dire la plage pour un entier complément à deux signé 32 bits). a
contiendra toujours exactement desy
valeurs (selon la définition).
Cas de test
Remarque: tous les cas de test sont indexés 0.
x = 1, y = 2, a = [1, 1], alpha = 1, beta = 1, n = 6 => 13
x = 1, y = 2, a = [2, 1], alpha = 1, beta = 1, n = 8 => 47
x = 3, y = 5, a = [2, 3, 5, 7, 11], alpha = 2, beta = 3, n = 8 => 53
x = 1, y = 3, a = [-5, 2, 3], alpha = 1, beta = 2, n = 10 => -67
x = 5, y = 7, a = [-5, 2, 3, -7, -8, 1, -9], alpha = -10, beta = -7, n = 10 => 39
a
raisonnable de prendre un ordre inversé?