/**
* 题目:3X3 的九宫格 每个横竖斜相加都等于15,使用1-9数字。
* 要求:PHP语言,1-9数字不重复
* @date: 2015年8月20日
* @author: Administrator
* @return:
*/
// 添加一个符合条件的数组
$arr = array(1,2,3,4,5,6,7,8,9);
// 打乱数组顺序
shuffle($arr);
for($i=1;$i<9999;$i++){
if($arr[0]+$arr[1]+$arr[2]==15 && $arr[3]+$arr[4]+$arr[5]==15 && $arr[6]+$arr[7]+$arr[8]==15 && $arr[0]+$arr[3]+$arr[6] ==15 && $arr[1]+$arr[4]+$arr[7]==15 && $arr[2] +$arr[5]+$arr[8]==15 && $arr[0]+$arr[4]+$arr[8]==15 && $arr[2]+$arr[4]+$arr[6] ==15 ){
// 满足条件 打印die掉
print_r($arr);die;
}else{
// 不满足条件 继续循环
shuffle($arr);
}
}
/*
* 参考值
* 4 9 2
* 3 5 7
* 8 1 6
* 缺点是9999次不一定可以循环出来,需要刷新才行
* */