1. 程式人生 > >PHP版解刑偵科推理試題...

PHP版解刑偵科推理試題...

傳說中的刑偵考試題終於把程式碼碼出來了...


程式碼如下:

<?php
namespace admin;
class XingController extends BaseController{
function indexAction()
    {
for ($t1=1; $t1 <=4 ; $t1++) {
for ($t2=1; $t2 <=4 ; $t2++) {
for ($t3=1; $t3 <=4 ; $t3++) {
for ($t4=1; $t4 <=4 ; $t4++) {
for ($t5=1; $t5 <=4 ; $t5++) {
for 
($t6=1; $t6 <=4 ; $t6++) { for ($t7=1; $t7 <=4 ; $t7++) { for ($t8=1; $t8 <=4 ; $t8++) { for ($t9=1; $t9 <=4 ; $t9++) { for ($t10=1; $t10 <=4 ; $t10++) { // 2. if(!($t2 == 1 && $t5 == 3)) { if(!( $t2== 2 && $t5 == 4)) {
if(!( $t2== 3 && $t5 == 1)) { if(!( $t2== 4 && $t5 == 2)) { continue; } }
} } // 3. if(!(($t3 == 1 && $t6 == $t2 && $t2 == $t4) && ($t3 != $t6))) { if(!(($t3 == 2 && $t3 == $t2 && $t2 == $t4) && ($t3 != $t6))) { if(!(($t3 == 3 && $t6 == $t3 && $t3 == $t4) && ($t3 != $t2))) { if(!(($t3 == 4 && $t6 == $t2 && $t2 == $t3) && ($t4 != $t6))) { continue; } } } } //4. if(!($t4 == 1 && $t1 == $t5)) { if(!($t4 == 2 && $t2 == $t7)) { if(!($t4 == 3 && $t1 == $t9)) { if(!($t4 == 4 && $t6 == $t10)) { continue; } } } } //5. if(!($t5 == 1 && $t8 == $t5 && $t4 != $t5 && $t9 != $t5 && $t7 != $t5)) { if(!($t5 == 2 && $t8 != $t5 && $t4 == $t5 && $t9 != $t5 && $t7 != $t5)) { if(!($t5 == 3 && $t8 != $t5 && $t4 != $t5 && $t9 == $t5 && $t7 != $t5)) { if(!($t5 == 4 && $t8 != $t5 && $t4 != $t5 && $t9 != $t5 && $t7 == $t5)) { continue; } } } } //6. if(!($t8 == $t2 && $t2 == $t4 && $t6 == 1)) { if(!($t8 == $t1 && $t1 == $t6 && $t6 == 2)) { if(!($t8 == $t3 && $t3 == $t10 && $t6 == 3)) { if(!($t8 == $t5 && $t5 == $t9 && $t6 == 4)) { continue; } } } } // 7. $array = [$t1,$t2,$t3,$t4,$t5,$t6,$t7,$t8,$t9,$t10]; $str = array_count_values($array); $minCount = 10; $maxCount = 0; $min = []; $max = []; foreach ($str as $k => $v) { if ($minCount > $v) { $minCount = $v; } if ($maxCount < $v) { $maxCount = $v; } } foreach ($str as $k => $v) { if ($minCount == $v) { array_push($min, $k); } if ($maxCount == $v) { array_push($max, $k); } } if(count($min) > 1) { continue; } // $min[0]是出現次數最少的選項值 if($t7 == 1 || $min[0] == 3){ if($t7 == 2 || $min[0] == 2){ if($t7 == 3 || $min[0] == 1){ if($t7 == 4 || $min[0] == 4){ continue; } } } } // 8. $m = $t1+1; $n = $t1-1; if(! (($t7 == $m || $t7 == $n) && ($t5 == $m || $t5 == $n) && ($t2 == $m || $t2 == $n) && ($t10 != $m && $t10 != $n)) ){ //10 if(! (($t7 == $m || $t7 == $n) && ($t10 == $m || $t10 == $n) && ($t2 == $m || $t2 == $n) && ($t5 != $m && $t5 != $n)) ){ //5 if(! (($t10 == $m || $t10 == $n) && ($t5 == $m || $t5 == $n) && ($t2 == $m || $t2 == $n)&& ($t7 != $m && $t7 != $n)) ){ //7 if(! (($t7 == $m || $t7 == $n) && ($t5 == $m || $t5 == $n) && ($t10 == $m || $t10 == $n)&& ($t2 != $m && $t2 != $n)) ){ //2 continue; } } } } // 9. if(($t1 == $t6) && ($t6 != $t5)){ if(($t1 != $t6) && ($t6 == $t5)){ if(($t1 == $t6) && ($t10 != $t5)){ if(($t1 != $t6) && ($t10 == $t5)){ if(($t1 == $t6) && ($t2 != $t5)){ if(($t1 != $t6) && ($t2 == $t5)){ if(($t1 == $t6) && ($t9 != $t5)){ if(($t1 != $t6) && ($t9 == $t5)){ continue; } } } } } } } } // 10. $array = [$t1,$t2,$t3,$t4,$t5,$t6,$t7,$t8,$t9,$t10]; $str = array_count_values($array); $minCount = 10; $maxCount = 0; $min = []; $max = []; foreach ($str as $k => $v) { if ($minCount > $v) { $minCount = $v; } if ($maxCount < $v) { $maxCount = $v; } } if(!($t10==1 && (($maxCount - $minCount)==3))){ if(!($t10==2 && (($maxCount - $minCount)==2))){ if(!($t10==3 && (($maxCount - $minCount)==4))){ if(!($t10==4 && (($maxCount - $minCount)==1))){ continue; } } } } $array = [$t1,$t2,$t3