巧排扑克牌

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小明刚上小学,学会了第一个扑克牌“魔术”,到处给人表演。魔术的内容是这样的:

他手里握着一叠扑克牌:A,2,…J,Q,K一共 13 张。他先自己精心设计它们的顺序,然后正面朝下拿着,开始表演。

只见他先从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是 A;然后再从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是 2;…如此循环直到手中只有一张牌,翻开放桌子上,刚好是 K。

这时,桌上牌的顺序是:A,2,3,4,5,6,7,8,9,10,J,Q,K。

请你计算一下,小明最开始的时候手里牌的顺序是怎样的。

把结果写出来,逗号分割,小明“魔术”开始时,最下面的那张牌输出为第一个数据。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

思路:

  1. 可以假设一开始排列为:_ A _ 2 _ 3 _ 4 _ 5 _ 6 _,为了看起来简单明了, a A b 2 c 3 d 4 e 5 f 6 g
  2. 第一轮翻牌翻出A后::b 2 c 3 d 4 e 5 f 6 g a
  3. 第二轮翻牌翻出2后:c 3 d 4 e 5 f 6 g a b
  4. ……
  5. 直到翻出6后:a b c d e f g
  6. 再一次翻牌翻出a,此时已翻出的牌有A23456a,显然a是牌7,剩下cdefgb未翻牌
  7. 再一次翻牌翻出c显然c是牌8,剩下efgdb
  8. 经过上面的规律可以看出,每一次翻牌都是隔一张牌翻,比如a A b 2 c 3 d 4 e 5 f 6 g,第一轮翻牌翻出A23456,剩下abcdefg,第二轮翻出aceg,剩下bdf,第三轮翻出d,剩下fb,第四轮翻出b,剩下f。所以最后翻出的扑克牌顺序为A23456acegdbf,也就是acegdbf对应7 8 9 10 J Q K
  9. 所以扑克牌顺序为7 A Q 2 8 3 J 4 9 5 K 6 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zjojk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值