Skip to content

Instantly share code, notes, and snippets.

@limweb
Created December 24, 2015 11:38
Show Gist options
  • Save limweb/81c77d1a7646ad894c7b to your computer and use it in GitHub Desktop.
Save limweb/81c77d1a7646ad894c7b to your computer and use it in GitHub Desktop.
<?php
$num =[1,3,4,4,4,7];
$sama = ['+','*','*','-'];
// $num = [2,2,4,5,5,4];
// $sama = ['/','/','*','*'];
// $num = [3,3,3,3,8,8];
// $sama = ['*','*','/','/'];
$pnum = permute($num);
$psams = permute($sama);
$i =1;
echo "Starting---->\n";
$answer = [];
for($p=1;$p<9;$p++) {
$arr = ['','','','','','','','','','',''];
foreach ($psams as $psamitem) {
$psam = explode(',',$psamitem);
array_splice($psam,$p,0,['==']);
$arr[1] = $psam[0];
$arr[3] = $psam[1];
$arr[5] = $psam[2];
$arr[7] = $psam[3];
$arr[9] = $psam[4];
foreach ($pnum as $pnumitem) {
$par = explode(',',$pnumitem);
$arr[0] = $par[0];
$arr[2] = $par[1];
$arr[4] = $par[2];
$arr[6] = $par[3];
$arr[8] = $par[4];
$arr[10] = $par[5];
$t = implode('',$arr);
eval("\$result=$t;");
if($result){
$answer[] = $t;
}
}
}
}
$ans = array_unique($answer);
$j=1;
foreach ($ans as $an){
$ars =explode("==", $an);
eval("\$r0=$ars[0];");
echo $j,'# ',$an,' ==',$r0,"\n";
$j++;
}
echo "End.\n";
exit();
function permute($arg) {
$array = is_string($arg) ? str_split($arg) : $arg;
if(1 === count($array))
return $array;
$result = array();
foreach($array as $key => $item){
foreach(permute(array_diff_key($array, array($key => $item))) as $p){
$result[] = $item .','. $p;
}
}
return $result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment