题目是:
<?php /** * 题目: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); } } /* * 参考值 * 6 7 2 * 1 5 9 * 8 3 4 * * 缺点是9999次不一定可以循环出来,需要刷新才行 * * * * */ ?>
如果你有更好的想法,请联系我。谢谢
上一篇: 分享一个较萌的QQ表情包...
下一篇: GitHub10大热门编程语言...
疾风的轨迹 2018-09-19 10:25 Win 7 广东东莞
<?php
$a = true;
$arr = array(1,2,3,4,5,6,7,8,9);
while($a) {
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 )
{
// 满足条件 停止循环
$a = false;
} else {
shuffle($arr);
}
}
print_r($arr);
11/05 11:11 回复 @疾风的轨迹 中说到:
好久的文章了,居然还有人看