开元周游
德国频道
查看: 1271|回复: 1
打印 上一主题 下一主题

扑克牌问题

[复制链接]
1#
发表于 1.11.2003 16:29:50 | 只看该作者
即时机票
一副牌去掉大小两鬼 剩下52张 红黑梅方各13 <br>现要求将这52张牌按一定的次序排列 编一程序运行以后就得到要求的次序 要求实现这样一个目的 第一张是红A 取出放一边 然后拿掉第二张放到最后 然后又拿掉第三张到最后第四张到最后 ..........每次拿三张(一张一张的拿)放到最后 拿完三张以后就要求接前面的红A来 再取出红2 然后又拿 又取红3 ...红4.........  <br>     <br>就是这样: <br>      <br>红A * * * 红2 * * * 红3 * * * 红4 .......... <br>  <br>拿完红以后就是黑 以后就是梅 最后就是方 最后剩下三张就是按自然次序 不再改变即方J 方Q 方K  <br>在这其间牌的数量是改变的(因为在不停的拿掉牌 既拿掉了红A红2 红3....) <br><br>问题:是否存在这样一种排列顺序,如果有,则应如何排?
2#
发表于 15.3.2004 15:07:23 | 只看该作者
创建一个有52个对象的环(首尾相接的队列),把红A红2红3.....随机放入。<br>给每张牌编号(用正整数),红A=1,红2=2,红3=3,......黑A=14,...方J=50, 方Q=51, 方K=52。<br>现在开始循环遍历“环”并计数,每到4判断是否当前编号等于出局的牌的数目,若等于就从环中删除当前节点,否则继续。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点信息

站点统计| 举报| Archiver| 手机版| 小黑屋

Powered by Discuz! X3.2 © 2001-2014 Comsenz Inc.

GMT+1, 15.11.2024 22:42

关于我们|Apps

() 开元网

快速回复 返回顶部 返回列表