RosettaCodeData/Task/Perfect-shuffle/Sidef/perfect-shuffle.sidef
2023-07-01 13:44:08 -04:00

14 lines
298 B
Text

func perfect_shuffle(deck) {
deck/2 -> zip.flat
}
[8, 24, 52, 100, 1020, 1024, 10000].each { |size|
var deck = @(1..size)
var shuffled = deck
var n = (1..Inf -> lazy.first {
(shuffled = perfect_shuffle(shuffled)) == deck
})
printf("%5d cards: %4d\n", size, n)
}