2 u012764572 u012764572 于 2014.07.11 14:08 提问

用php代码算出这道数学题答案

用从1到9九个数组成三个三位数,这三个三位数相加等于999,每个数字不可重复使用,要用php代码算出这三个三位数是那几组
$arr=array(1,2,3,4,5,6,7,8,9)

1个回答

xxoome
xxoome   2014.07.31 13:12

利用三个循环,每个循环取出一位数。如果这三个循环取出的数不一样则组成一个3位数组合。再循环组合出来的三位数数组,和等于999 则取出这三个三位数。
经测试数据有点大,但思路是没问题的。

$arr=array(1,2,3,4,5,6,7,8,9);
$ThreeArr=array();
$reslut=array();
foreach ($arr as $v){

foreach ($arr as $vv){
if($v!=$vv){

foreach ($arr as $vvv){
if($v!=$vv&&$v!=$vvv&&$vv!=$vvv){
array_push($ThreeArr,$v.$vv.$vvv);
}
}

            }   
        }

    }
    foreach ($ThreeArr as $v){
        foreach ($ThreeArr as $vv){
            if($v!=$vv){
                foreach ($ThreeArr as $vvv){
                    if($v!=$vv&&$v!=$vvv&&$vv!=$vvv){
                        if(($v+$vv+$vvv)==999){
                            array_push($reslut,$v.','.$vv.','.$vvv);
                        }
                    }
                }
            }

        }
    }
    var_dump($reslut);
Csdn user default icon
上传中...
上传图片
插入图片