We call "perfect shuffle" the process of cutting a deck of cards into two equal halves, and then perfectly interleaving them: one card from the left stack, one card from the right stack, one card from the left stack, and so on.
Let "deck" be an array with an even number of elements. Write a function "perfect_shuffle(deck)" that returns a new array constructed according to this shuffle.
For example, perfect_shuffle([1, 2, 3, 4, 5, 6]) should return [1, 4, 2, 5, 3, 6].
Remark: For an array of 1024 elements, after 10 shuffles, we get back to the initial arrangement.

Solution Stats

28 Solutions

18 Solvers

Last Solution submitted on Mar 05, 2026

Last 200 Solutions

Problem Comments

Solution Comments

Show comments
Loading...

Problem Recent Solvers18

Suggested Problems

More from this Author53

Problem Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!