1-52张扑克牌,初始都翻开朝上
从2开始, 以倍数为基础, 将2翻一次, 4翻一次, 6翻一次...52翻一次
从3开始, 以倍数为基础, 将3翻一次, 6翻一次, 9翻一次...48翻一次
从4开始, 以倍数为基础, 将4翻一次, 8翻一次, 13翻一次...48翻一次
.....
从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));