德国开元华人社区 开元周游
标题:
扑克牌问题
[打印本页]
作者:
gm_jwl
时间:
1.11.2003 16:29
一副牌去掉大小两鬼 剩下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>问题:是否存在这样一种排列顺序,如果有,则应如何排?
作者:
llong
时间:
15.3.2004 15:07
创建一个有52个对象的环(首尾相接的队列),把红A红2红3.....随机放入。<br>给每张牌编号(用正整数),红A=1,红2=2,红3=3,......黑A=14,...方J=50, 方Q=51, 方K=52。<br>现在开始循环遍历“环”并计数,每到4判断是否当前编号等于出局的牌的数目,若等于就从环中删除当前节点,否则继续。
欢迎光临 德国开元华人社区 开元周游 (https://forum.kaiyuan.de/)
Powered by Discuz! X3.2