+ -
当前位置:首页 → 问答吧 → 用程式解邏輯推理題

用程式解邏輯推理題

时间:2010-01-07

来源:互联网

[    sell=0]
复制代码
  1. <?php
  2.     //  A,S之取值範圍皆是0~9之數字
  3.     $A = array('0','1','2','3','4','5','6','7','8','9') ;
  4.     $S = array('0','1','2','3','4','5','6','7','8','9') ;
  5.     foreach($A as $a_num)   //  依次每次從A中取出1個數,放入變數$a_num中
  6.     {
  7.         foreach($S as $s_num)   //  依次每次從S中取出1個數,放入變數$s_num中
  8.         {
  9.             $result = ($a_num.$s_num)*$a_num ;  //  依題意,將$a_num和$s_num併在一起後,再乘以$a_num
  10.             if($result>=100) //  依題意,結果是個3位數,故$result大於等於100時,分別抓出其百位、十位及個位,並分別放到$v1,$v2,$v3中
  11.             {
  12.                 $v1 = substr($result,0,1) ;
  13.                 $v2 = substr($result,1,1) ;
  14.                 $v3 = substr($result,2,1) ;
  15.                 if($a_num!=$s_num && $a_num!=$v1 && $a_num!=$v3 && $a_num==$v2 && $s_num!=$v1 && $s_num!=$v3)   //  依這些條件判斷,出現符合題意的值後,顯示出來,並跳出所有迴圈
  16.                 {
  17.                     echo " ".$a_num.$s_num."<br/>" ;
  18.                     echo "X ".$a_num."<br/>" ;
  19.                     echo $v1.$v2.$v3 ;
  20.                     break 2 ;                    
  21.                 }
  22.             }
  23.         }
  24.     }
  25. ?>
[/sell]

作者: 柯南   发布时间: 2010-01-07

$num = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
foreach ($num as $a){
    foreach ($num as $s){
        foreach ($num as $m){
            foreach ($num as $n){
                if (($a*10+$s) * $a == ($m*100+$a*10+$n) && $a!=0 && $m!=0){
                    echo 'A='.$a.',S='.$s.',M='.$m.',N='.$n.'<br/>';
                }
            }
        }
    }
}
看我的,不过效率很低下

作者: syuanq   发布时间: 2010-01-07

。。。。。。。。路过。。。。。。。。。

作者: xujing3344   发布时间: 2010-01-07

<?php
    $x = array(0,1,2,3,4,5,6,7,8,9);
    
    foreach($x as $i){
        foreach($x as $j){
            $result = ($i * 10 + $j) * $i ;
            if($result > 100){
                $a = substr((string)$result,0,1) ;
                $b = substr((string)$result,1,1) ;
                $c = substr((string)$result,2) ;
                if($i != $j && $i != $a && $i != $c && $i == $b && $a != $c && $j != $a && $j != $c){
                    echo "     ".$i.$j."<br/>" ;
                    echo "* ".$i."<br/>" ;
                    echo $a.$b.$c ;
                    break;                  
                }
            }
        }
    }
?>
写好后发现和1楼有点相近。。。。。。

作者: caozerun   发布时间: 2010-01-07