Urutan pengulangan biner adalah urutan yang didefinisikan secara rekursif dari bentuk berikut:
Ini adalah generalisasi dari deret Fibonacci ( x = 1, y = 2, a = [1, 1], alpha = 1, beta = 1
) dan deret Lucas ( x = 1, y = 2, a = [2, 1], alpha = 1, beta = 1
).
Tantangan
Mengingat n
, x
, y
, a
, alpha
, dan beta
, dalam format yang wajar, output n
jangka th urutan kekambuhan yang sesuai biner.
Aturan
- Anda dapat memilih urutan yang akan diindeks 1 atau 0, tetapi pilihan Anda harus konsisten di semua input, dan Anda harus membuat catatan pilihan Anda dalam jawaban Anda.
- Anda dapat mengasumsikan bahwa tidak ada input yang tidak valid yang akan diberikan (seperti urutan yang berakhir sebelum
n
, atau urutan yang referensi istilah yang tidak ditentukan, sukaF(-1)
atau diF(k)
manak > n
). Akibatnya,x
dany
akan selalu positif. - Input dan output akan selalu berupa bilangan bulat, dalam batas tipe bilangan bulat alami bahasa Anda. Jika bahasa Anda memiliki bilangan bulat tanpa batas, input dan output akan berada dalam kisaran
[2**31, 2**31-1]
(yaitu kisaran untuk integer komplemen dua bertanda tangan 32-bit yang ditandatangani). a
akan selalu berisiy
nilai persis (sesuai definisi).
Uji Kasus
Catatan: semua test case diindeks 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
pesanan terbalik dianggap masuk akal?