遇到一道面试题,大家快来动动脑子

/** * 题目: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次不一定可以循环出来,需要刷新才行 * */
联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2022

备案号:京ICP备15003423号-3