PHP算法之翻牌游戏
时间:2011-06-22
来源:互联网
/**
* 翻牌游戏
*
* 1-52张扑克牌,初始都翻开朝上
* 从2开始, 以倍数为基础, 将2翻一次, 4翻一次, 6翻一次...52翻一次
* 从3开始, 以倍数为基础, 将3翻一次, 6翻一次, 9翻一次...48翻一次
* 从4开始, 以倍数为基础, 将4翻一次, 8翻一次, 13翻一次...48翻一次
* .....
* 求最后朝上的牌有哪些
*/
复制代码
* 翻牌游戏
*
* 1-52张扑克牌,初始都翻开朝上
* 从2开始, 以倍数为基础, 将2翻一次, 4翻一次, 6翻一次...52翻一次
* 从3开始, 以倍数为基础, 将3翻一次, 6翻一次, 9翻一次...48翻一次
* 从4开始, 以倍数为基础, 将4翻一次, 8翻一次, 13翻一次...48翻一次
* .....
* 求最后朝上的牌有哪些
*/
- class up {
-
- protected $max = 52;
- protected $min = 2;
- protected $rs = array(1); // 结果集,第一张牌是朝上的
-
- public function __construct() {
- }
-
- // 循环得到2-52的整数数组
- public function setp1() {
- for($i = $this->min; $i <= $this->max; $i++) {
- for($j = $this->min; $j <= $this->max; $j++) {
- if(0 == $i % $j) {
- $arr[$i][] = $j;
- }
- }
- }
- return $arr;
- }
-
- // 获得整除组合为偶数的牌
- public function execute($arr) {
- foreach($arr as $k => $v) {
- if($this->setp3(count($v))) {
- $this->rs[$k][] = $v;
- }
- }
- return $this->rs;
- }
-
- // 判断奇偶数
- public function setp3($num) {
- if(0 == $num % 2) {
- return true;
- } else {
- return false;
- }
- }
-
- }
-
- $arr = array();
- $up = new up();
- $arr = $up->setp1();
- print_r($up->execute($arr));
作者: howk 发布时间: 2011-06-22
没玩过这种游戏。。。。。
作者: exploit 发布时间: 2011-06-22
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28