有这个可能吗?如果是a%(b*c)+d%(e*f)+g%(h*n)还有可能.

解决方案 »

  1.   

    用a从1-9遍历,b也一样 ,这样最大循环次数为
    a b c d e f g h n 9*8*7*6*5*4*3*2*1 次 好像很多哦。其实也不多 362880次结果1/(3*6)+5/(8*9)+7/(2*4)=1算法与代码参见:http://www.web1357.cn/post/php_compute_1.html
      

  2.   

    答案我知道了  我想知道算法  ghjhot 给的网址打不开啊   你说的遍历这个思想我也明白
    可是自己没写出来   我是个新手  想多学点东西   能不能帮贴出来啊  谢谢了
      

  3.   

    3楼写的:
    <?php
    $M = array();for($a=1;$a<10;$a++){  
      for($b=1;$b<10;$b++){
        if($a==$b)continue;
        for($c=1;$c<10;$c++){
          $M = array();
          array_push($M,$a);      
          if(in_array($b, $M)==true)continue;  array_push($M,$b);      
          if(in_array($c, $M)==true)continue;  array_push($M,$c);
          for($d=1;$d<10;$d++){
            $M = array();
            array_push($M,$a);      
            if(in_array($b, $M)==true)continue;  array_push($M,$b);      
            if(in_array($c, $M)==true)continue;  array_push($M,$c);
            if(in_array($d, $M)==true)continue;  array_push($M,$d);
            for($e=1;$e<10;$e++){
                $M = array();
                array_push($M,$a);      
                if(in_array($b, $M)==true)continue;  array_push($M,$b);      
                if(in_array($c, $M)==true)continue;  array_push($M,$c);
                if(in_array($d, $M)==true)continue;  array_push($M,$d);
                if(in_array($e, $M)==true)continue;  array_push($M,$e);
              for($f=1;$f<10;$f++){          
                $M = array();
                array_push($M,$a);      
                if(in_array($b, $M)==true)continue;  array_push($M,$b);      
                if(in_array($c, $M)==true)continue;  array_push($M,$c);
                if(in_array($d, $M)==true)continue;  array_push($M,$d);
                if(in_array($e, $M)==true)continue;  array_push($M,$e);
                if(in_array($f, $M)==true)continue;  array_push($M,$f);
                for($g=1;$g<10;$g++){
                  $M = array();
                  array_push($M,$a);      
                  if(in_array($b, $M)==true)continue;  array_push($M,$b);      
                  if(in_array($c, $M)==true)continue;  array_push($M,$c);
                  if(in_array($d, $M)==true)continue;  array_push($M,$d);
                  if(in_array($e, $M)==true)continue;  array_push($M,$e);
                  if(in_array($f, $M)==true)continue;  array_push($M,$f);
                  if(in_array($g, $M)==true)continue;  array_push($M,$g);              for($h=1;$h<10;$h++){
                    $M = array();
                    array_push($M,$a);      
                    if(in_array($b, $M)==true)continue;  array_push($M,$b);      
                    if(in_array($c, $M)==true)continue;  array_push($M,$c);
                    if(in_array($d, $M)==true)continue;  array_push($M,$d);
                    if(in_array($e, $M)==true)continue;  array_push($M,$e);
                    if(in_array($f, $M)==true)continue;  array_push($M,$f);
                    if(in_array($g, $M)==true)continue;  array_push($M,$g);
                    if(in_array($h, $M)==true)continue;  array_push($M,$h);                for($n=1;$n<10;$n++){
                      $M = array();
                      array_push($M,$a);      
                      if(in_array($b, $M)==true)continue;  array_push($M,$b);      
                      if(in_array($c, $M)==true)continue;  array_push($M,$c);
                      if(in_array($d, $M)==true)continue;  array_push($M,$d);
                      if(in_array($e, $M)==true)continue;  array_push($M,$e);
                      if(in_array($f, $M)==true)continue;  array_push($M,$f);
                      if(in_array($g, $M)==true)continue;  array_push($M,$g);
                      if(in_array($h, $M)==true)continue;  array_push($M,$h);
                      if(in_array($n, $M)==true)continue;  array_push($M,$n);
                        
                        if($a/($b*$c)+$d/($e*$f)+$g/($h*$n) ==1){    
                          echo $a;
                          echo "/(";
                          echo $b;
                          echo "*";
                          echo $c;
                          echo ")+";
                          echo $d;
                          echo "/(";
                          echo $e;
                          echo "*";
                          echo $f;
                          echo ")+";
                          echo $g;
                          echo "/(";
                          echo $h;
                          echo "*";
                          echo $n;
                          echo ")=1";
                          exit;
                        }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    ?>