Question: Write an F# function countshuffles n that counts how many calls to shuffle on a deck of n distinct cards it takes to put the
Write an F# function countshuffles n that counts how many calls to shuffle on a deck of n distinct "cards" it takes to put the deck back into its original order:
> countshuffles 4;; val it : int = 2
(To see that this result is correct, note that shuffle [1;2;3;4] = [1;3;2;4], and shuffle [1;3;2;4] = [1;2;3;4].) What is countshuffles 52?
Hint: Define an auxiliary function countaux(deck, target) that takes two lists and returns the number of shuffles it takes to make deck equal to target.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
