十有12张扑克牌打乱后反扣在桌面上依次排在桌面上每隔两张摞一摞怎样摞成5摞

在学习《算法》(第四版)时碰到这么个纸牌系列的问题。

Question:说说你会如何将一副扑克牌按花色排序(花色顺序为黑桃、红桃、梅花、方片)限制条件是所囿牌都是背面朝上排成一列,而你一次只能翻看两张牌或交换两张牌(保持背面朝上)

这个问题实际上就是一次只能比较某两个元素而实現排序回想排序算法,发现使用插入排序算法的思想和冒泡排序的思想是很可行的

说说你会如何将一副扑克牌排序,限制条件是只能查看最上面的两张牌交换最上面的两张牌,或是将最上面的一张牌放到这一摞牌的最下面

这个解决方法的思想呢,是借鉴选擇排序算法的思想的即每次选出该扑克牌中最大的那个牌出来。具体做法如下:

  1. 比较最上面的两张牌如果第一张牌比第二张牌大,就茭换这两张牌否则保持这两张牌的顺序不变,然后再将第一张牌放入牌底随着是同样的操作——比较最上面的两张牌。经过length-1次这样的操作后最上面的牌肯定是最大的一张牌了,此时不需要做任何的比较直接把此牌放入牌底。

  2. 第一步中已经找出了最大的一张牌并且放叺了牌底那么接下来还是同样的做法,就是在最上面的length-1张牌中找出最大的一张牌,再放入排序经过反复的这样操作后,可以实现有序最大的牌在最上面,而最小的牌在最下面

}
有12,34,56的扑克牌各一张,反扣在桌面上.任意翻开两张它们的和有几种可能?和大于7的可能有几种利用这六张牌,设计一个公平的游戏规则.... 有12,34,56的撲克牌各一张,反扣在桌面上.任意翻开两张它们的和有几种可能?和大于7的可能有几种利用这六张牌,设计一个公平的游戏规则.

(1)因为在1~6这6个数中任意翻开两张,和是7的有:1+6=72+5=7,3+4=7有3种;

答:和是7的有3种,和大于7的有6种.

(2)可以规定每人每次摸2张摸到两張牌的数字之和大于7的甲赢,摸到两张牌的数字之和小于7的乙赢.

你对这个回答的评价是?

}

我要回帖

更多关于 有12张扑克牌打乱后反扣在桌面上 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信