Preface: This is a generalized version of the problem I presented here.
You have a deck of N cards numbered in order from 1 to N. You are given a pattern to discard a certain number of cards and move a number of cards to the bottom of the deck. Eventually, you will have one card left. What is the number of that card?
The sequence of discarding/moving cards will be given in a row vector of 1s and -1s where 1 represents moving a card to the bottom of the deck and -1 represents discarding a card. This sequence should be repeated until there is only one card left (e.g. [-1 1] would return this problem to the non-generalized case).
Example
generalNCardsProblem(5,[-1 1])
deck = [ 1 2 3 4 5 ]
deck = [ 2 3 4 5 ]
deck = [ 3 4 5 2 ]
deck = [ 4 5 2 ]
deck = [ 5 2 4 ]
deck = [ 2 4 ]
deck = [ 4 2 ]
deck = [ 2 ] generalNCardsProblem(5,[-1 1 1 -1])
deck = [ 1 2 3 4 5 ]
deck = [ 2 3 4 5 ]
deck = [ 3 4 5 2 ]
deck = [ 4 5 2 3 ]
deck = [ 5 2 3 ]
deck = [ 2 3 ]
deck = [ 3 2 ]
deck = [ 2 3 ]
deck = [ 3 ]
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers33
Suggested Problems
-
Remove the small words from a list of words.
1560 Solvers
-
Get the area codes from a list of phone numbers
1072 Solvers
-
given 3 sides, find area of this triangle
820 Solvers
-
180 Solvers
-
135 Solvers
More from this Author56
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!