Cody

Problem 8057. (Linear) Recurrence Equations - Generalised Fibonacci-like sequences

Solution 1921022

Submitted on 3 Sep 2019
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
Init = [1,1]; Rules = [1,1]; N = 1:10; values_correct = [1 1 2 3 5 8 13 21 34 55]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 10 alin = 1 values = 1 1 2 3 5 8 13 21 34 55

2   Pass
Init = [2,3]; Rules = [1,1]; N = 1:10; values_correct = [2, 3, 5, 8, 13, 21, 34, 55, 89, 144]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 10 alin = 1 values = 2 3 5 8 13 21 34 55 89 144

3   Fail
Init = [1,1]; Rules = [1,1]; N = -5:5; values_correct = [5, -3, 2, -1, 1, 0, 1, 1, 2, 3, 5]; values_accepted = [nan, nan, nan, nan, nan, nan, 1, 1, 2, 3, 5]; values = recurrence_seq(N, Init, Rules); assert(isequal(values,values_correct)||isequaln(values,values_accepted))

ylin = 5 alin = -5 values = 1 1 2 3 5

Assertion failed.

4   Pass
Init = [1,3]; Rules = [1,1]; N = 1:10; values_correct = [1, 3, 4, 7, 11, 18, 29, 47, 76, 123]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 10 alin = 1 values = 1 3 4 7 11 18 29 47 76 123

5   Fail
Init = [1, 1, 1]; Rules = [1, 1, 0]; N = 4:21; values_correct = [2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 21 alin = 4 values = Columns 1 through 15 1 1 1 2 3 5 8 13 21 34 55 89 144 233 377 Columns 16 through 21 610 987 1597 2584 4181 6765

Assertion failed.

6   Fail
Init = [0, 1]; Rules = [1, 2]; N = 4:3:19; values_correct = [5, 70, 985, 13860, 195025, 2744210]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 19 alin = 4 values = Columns 1 through 15 0 1 1 3 5 11 21 43 85 171 341 683 1365 2731 5461 Columns 16 through 19 10923 21845 43691 87381

Assertion failed.

7   Fail
Init = [3-2, 9-4]; Rules = [-6 5]; N = 1:10; values_correct = [1, 5, 19, 65, 211, 665, 2059, 6305, 19171, 58025]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 10 alin = 1 values = 1 5 -25 175 -1175 7925 -53425 360175 -2428175 16369925

Assertion failed.

8   Fail
Init = [3, 0, 2]; Rules = [1, 1, 0]; N = [28:38, 10:-1:1]; values_correct = [1983, 2627, 3480, 4610, 6107, 8090, 10717, 14197, 18807, 24914, 33004, 12, 10, 7, 5, 5, 2, 3, 2, 0, 3]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 38 alin = 1 values = Columns 1 through 15 3 0 2 2 4 6 10 16 26 42 68 110 178 288 466 Columns 16 through 30 754 1220 1974 3194 5168 8362 13530 21892 35422 57314 92736 150050 242786 392836 635622 Columns 31 through 38 1028458 1664080 2692538 4356618 7049156 11405774 18454930 29860704

Assertion failed.

9   Pass
Init = [3, 0, 2]; % Perrin init Rules = [1, 1, 1]; % Tribonacci rules N = [1:15]; values_correct = [3, 0, 2, 5, 7, 14, 26, 47, 87, 160, 294, 541, 995, 1830, 3366]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 15 alin = 1 values = 3 0 2 5 7 14 26 47 87 160 294 541 995 1830 3366

10   Pass
Init = [0, 0, 1]; Rules = [1, 1, 1]; N = [1:23]; values_correct = [0, 0, 1, 1, 2, 4, 7, 13, 24, 44, 81, 149, 274, 504, 927, 1705, 3136, 5768, 10609, 19513, 35890, 66012, 121415]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 23 alin = 1 values = Columns 1 through 15 0 0 1 1 2 4 7 13 24 44 81 149 274 504 927 Columns 16 through 23 1705 3136 5768 10609 19513 35890 66012 121415

11   Fail
Init = [0, 0, 0, 1]; Rules = [1, 1, 1, 1]; N = [20:23]; values_correct = [20569, 39648, 76424, 147312]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 23 alin = 20 values = Columns 1 through 15 0 0 0 1 1 2 4 8 15 29 56 108 208 401 773 Columns 16 through 23 1490 2872 5536 10671 20569 39648 76424 147312

Assertion failed.

12   Fail
Init = [0, 0, 0, 0, 0, 0, 1]; Rules = [1, 1, 1, 1, 1, 1, 1]; N = [7:15, 19]; values_correct = [1, 1, 2, 4, 8, 16, 32, 64, 127, 2000]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 19 alin = 7 values = Columns 1 through 15 0 0 0 0 0 0 1 1 2 4 8 16 32 64 127 Columns 16 through 19 253 504 1004 2000

Assertion failed.

13   Fail
Init = [1, -1]; Rules = [1, -1]; N = 1:10; values_correct = [1, -1, 2, -3, 5, -8, 13, -21, 34, -55]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 10 alin = 1 values = 1 -1 -2 -1 1 2 1 -1 -2 -1

Assertion failed.

14   Fail
Init = [1, -1]; Rules = [-1, 1]; N = 1:10; values_correct = [1, -1, -2, -1, 1, 2, 1, -1, -2, -1]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 10 alin = 1 values = 1 -1 2 -3 5 -8 13 -21 34 -55

Assertion failed.

15   Pass
Init = [1, -1]; Rules = [1, 1]; N = 1:10; values_correct = [1, -1, 0, -1, -1, -2, -3, -5, -8, -13]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 10 alin = 1 values = 1 -1 0 -1 -1 -2 -3 -5 -8 -13

16   Pass
Init = [1, 1]; Rules = [2, -1]; N = 1:10; values_correct = ones(1,10); assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 10 alin = 1 values = 1 1 1 1 1 1 1 1 1 1

17   Fail
Init = [1, 2]; Rules = [2, -1]; N = 1:10; values_correct = [1, 2, 0, 4, -4, 12, -20, 44, -84, 172]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 10 alin = 1 values = 1 2 3 4 5 6 7 8 9 10

Assertion failed.

18   Fail
Init = [0, 1]; Rules = [2, 1]; N = 1:10; values_correct = [0, 1, 1, 3, 5, 11, 21, 43, 85, 171]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 10 alin = 1 values = 0 1 2 5 12 29 70 169 408 985

Assertion failed.

19   Fail
Init = [1, 0, 2]; Rules = [-1 1 1]; N = 1:20; values_correct = [1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 7, 6, 8, 7, 9, 8, 10, 9]; assert(isequal(recurrence_seq(N, Init, Rules),values_correct))

ylin = 20 alin = 1 values = 1 0 2 -1 3 -2 4 -3 5 -4 6 -5 7 -6 8 -7 9 -8 10 -9

Assertion failed.