Problem 44340. Recaman Sequence  III
 Recaman Sequence  I
 Recaman Sequence  II
 Recaman Sequence  III
Solution Stats
Problem Comments

12 Comments
there are a few lookup table solutions here, could you please add just a few test cases to discourage this? perhaps you could also add an additional test case that uses simply something like the following: assert(~any(cellfun(@(x)ismember(max([0,str2num(x)]),[13 15 26 54 208 2485]),regexp(fileread('RecamanIII.m'),'[\d\.\+\\*\/]+','match'))))
I have added assert line and rescored the solutions
If the nth number is 13, the Recaman sequence will end in 1 when started with 1 or 3 or 7 or 15 or continues. The test response says the answer is 15 (yes) but other answers also work. It seems like many possibilities exist for the nth number being 1.
David Hill, thanks for your interest. Lets start sequence with 15;
15 14 12 9 5 10 4 11 3 12 2 13 1
Results indicate that the index of 1 is 13. Question is asking the starting point that will generate a series where the index of 1 is in desired place (=input).
What about [1, 2, 4, 1, 5,10, 4,11, 3,12, 2,13,1] or
[3, 2, 4, 1, 5,10, 4, 11,3, 12, 2,13, 1] or
[7, 6, 4,1,5,10, 4,11,3,12,2, 13, 1]? These all start with different numbers but have a series that ends in 1 in the 13th position. It doesn't seem that the answer is unique.
David, your examples also ends in 1 in the 13th position that is right. However there are other 1s in series before 13th position. For example first example has 1 in first and 4th position. Second example also has a one in fourth position before 13th position and so on. When we start the series with 15 we obtain a series where the 1 occurs first time in 13th position.
David, upon your comments I have changed the problem statement.
David sequence examples are incorrect, the series cannot have repeated 1's (by definition, it is possible to have repeated elements but not repeated 1's). For example, the sequence starting with 1 would be [1 2 4 7 3 8 14 21 13 22 12 23 11] instead of [1, 2, 4, 1, 5,10, 4,11, 3,12, 2,13,1] as David suggests (e.g. after [1 2 4], 43 appears already in the sequence so it jumps to 4+3 instead)
that said, his general comment still stands that the solutions to this problem are often not unique (several different sequences will contain a 1 in the nth position) so the problem statement perhaps should clarify that you are asking for the 'lowest integer' to start a Recaman sequence containing a 1 in the nth position (or something along these lines)
(otherwise a perfectly valid answer would be to use a seed = 1+n^2/2n/2 which always results in a Recaman sequence with a 1 in the nth position)
Thanks Alfonso, I tried to clarify the problem statement!
leading solution is cheater solution: https://www.mathworks.com/matlabcentral/cody/problems/44340recamansequenceiii/solutions/1391285
Solution Comments
Show commentsProblem Recent Solvers84
Suggested Problems

Make the vector [1 2 3 4 5 6 7 8 9 10]
47371 Solvers

1629 Solvers

Construct an index vector from two input vectors in vectorized fashion
374 Solvers

Generate N equally spaced intervals between L and L
844 Solvers

369 Solvers
More from this Author92
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!