gpt4 book ai didi

algorithm - Mathematica 中的 Riffling 卡片

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:50:56 24 4
gpt4 key购买 nike

我的 friend 向我提出了这个问题;感觉就像在这里分享它。

给定一副纸牌,我们将其分成两组,并“交错放置”;让我们称此操作为“拆分连接”。并在生成的牌组上重复相同的操作。

例如{ 1, 2, 3, 4 } 变成{ 1, 2 } & { 3, 4 } (split) 我们得到 { 1, 3, 2, 4 } (join)

此外,如果我们有奇数张卡片,即 { 1, 2, 3 } 我们可以将其拆分为 { 1, 2 } & { 3 } (大半优先)导致 { 1, 3, 2 } (即,n 被拆分为 Ceil[n/2]n-Ceil[n/2])

我 friend 问我的问题是:

HOW many such split-joins are needed to get the original deck back?

这让我想知道:

如果一副牌有 n 张牌,如果满足以下条件,则需要拆分连接的数量是多少:

  • n 是偶数吗?
  • n 是奇数 ?
  • n 是 '2' 的幂? [我发现我们随后需要 log (n)(以 2 为底)的拆分连接数...]
  • (随意探索类似的不同场景。)

是否有一个简单的模式/公式/概念将 n 与所需的拆分连接数相关联?

我相信,这是在 Mathematica 中探索的好东西,尤其是因为它提供了 Riffle[] 方法。

最佳答案

引用MathWorld :

The numbers of out-shuffles needed to return a deck of n=2, 4, ... to its original order are 1, 2, 4, 3, 6, 10, 12, 4, 8, 18, 6, 11, ... (Sloane's A002326), which is simply the multiplicative order of 2 (mod n-1). For example, a deck of 52 cards therefore is returned to its original state after eight out-shuffles, since 2**8=1 (mod 51) (Golomb 1961). The smallest numbers of cards 2n that require 1, 2, 3, ... out-shuffles to return to the deck's original state are 1, 2, 4, 3, 16, 5, 64, 9, 37, 6, ... (Sloane's A114894).

未解决 n 为奇数的情况。

请注意,该文章还包含一个 Mathematica notebook具有探索洗牌的功能。

关于algorithm - Mathematica 中的 Riffling 卡片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8788446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com