Вот базовое решение R, которое генерирует вектор начальных чисел и 10 выборок из группы из 10 карт.
seeds <- runif(10)*1000000
cards <- 1:10
shuffledDecks <- lapply(seeds,function(aSeed){
set.seed(aSeed)
sample(cards)
})
Когда мы проверяем список в средстве просмотра объектов RStudio, мы видим, что все картыЗаказы в 10 шаффлов разные.
Если мы применим один из подходов для создания колоды карт из Создание колоды карт без использования while и Double For Loop , набор из 10 перетасовок колоды из 52 игральных карт выглядит следующим образом.
seeds <- runif(10)*1000000
cards = c(2:10, "J", "Q", "K", "A")
suits = c("♠", "♥", "♦", "♣")
deck <- paste0(rep(cards, length(suits)), #card values
rep(suits, each = length(cards))) #suits
shuffledDecks <- lapply(seeds,function(aSeed){
set.seed(aSeed)
sample(deck)
})
shuffledDecks[[1]]
shuffledDecks[[2]]
... и вывод:
> shuffledDecks[[1]]
[1] "3♥" "Q♠" "6♦" "8♠" "9♠" "2♦" "10♥" "J♥" "7♦" "6♣" "7♠" "3♣" "2♠" "8♦" "8♥" "A♦" "10♣" "A♥" "5♦" "J♦"
[21] "A♠" "4♥" "7♣" "4♣" "3♠" "6♠" "5♥" "K♠" "5♣" "5♠" "J♣" "6♥" "9♥" "K♣" "Q♥" "9♣" "A♣" "9♦" "3♦" "K♦"
[41] "4♦" "J♠" "4♠" "8♣" "10♠" "Q♦" "Q♣" "K♥" "7♥" "2♣" "2♥" "10♦"
> shuffledDecks[[2]]
[1] "7♠" "5♦" "6♥" "Q♣" "K♥" "J♦" "Q♠" "Q♥" "3♦" "4♥" "2♦" "A♠" "9♦" "4♣" "7♣" "8♦" "4♠" "5♠" "K♦" "3♥"
[21] "6♣" "A♣" "10♥" "8♠" "8♣" "J♣" "J♠" "10♦" "7♦" "5♣" "10♣" "9♣" "K♣" "K♠" "8♥" "6♠" "2♠" "5♥" "3♣" "J♥"
[41] "A♦" "3♠" "4♦" "9♥" "A♥" "6♦" "9♠" "7♥" "2♥" "10♠" "2♣" "Q♦"
>