作业要求

代码实现

<?php
function Question1(){
    for ($gj=0;$gj<=20;$gj++){
        for ($mj=0;$mj<=33;$mj++){
            $xj=100-$gj-$mj;
            if ($gj*5+$mj*3+$xj/3==100&&$xj%3==0){
                echo "公鸡",$gj,"只,母鸡",$mj,"只,小鸡",$xj,"只","<br>";
            }
        }
    }
    echo "<p>";
}
function Question2($number){
    $is_hui=1;
    $num=$number;
    $num_s=str_split($num);
    if ($num_s[0]=='-'){
        $is_hui=0;
    }
    else{
        $back_num=strrev($num);
        $back_s=str_split($back_num);
        if ($back_s[0]=='-'||$back_s[0]=='0'){
            $is_hui=0;
        }
        else {
            for ($i=0; $i<count($back_s)/2; $i++){
                if ($back_s[$i]!=$num_s[$i]){
                    $is_hui=0;
                }
            }
        }
    }
    if ($is_hui){
        echo $num,"是回文数","<p>";
    }
    else
    echo $num,"不是回文数","<p>";
}
function Question3($nums){
    $num=str_split($nums);
    echo $nums," 的24点为(从左到右计算)<br>";
    $can=false;
    for ($flag1=1;$flag1<=4;$flag1++){
        $temp1=mycount($num[0],$num[1],$flag1);
        for ($flag2=1;$flag2<=4;$flag2++){
            $temp2=mycount($temp1,$num[2],$flag2);
            for ($flag3=1;$flag3<=4;$flag3++){
                $temp3=mycount($temp2,$num[3],$flag3);
                if ($temp3==24){
                    if (($flag2>2)&&($flag1<=2)){
                        echo "运算为 (",$num[0],Trans($flag1),$num[1],")",Trans($flag2),$num[2],Trans($flag3),$num[3],"<br>";
                        $can=true;
                    } else
                        if (($flag3>2&&$flag2<=2)||($flag3>2&&$flag1<=2)){
                            echo "运算为 (",$num[0],Trans($flag1),$num[1],Trans($flag2),$num[2],")",Trans($flag3),$num[3],"<br>";
                            $can=true;
                        } else{
                            echo "运算为 ",$num[0],Trans($flag1),$num[1],Trans($flag2),$num[2],Trans($flag3),$num[3],"<br>";
                            $can=true;
                        }
                }
            }
        }
    }
    if (!$can)
        echo "无解";
    echo "<p>";
}
function mycount($num1, $num2, $flag){
    switch ($flag){
        case 1:$num=$num1+$num2;break;
        case 2:$num=$num1-$num2;break;
        case 3:$num=$num1*$num2;break;
        case 4:$num=$num1/$num2;break;
        default:$num=0;break;
    }
    return $num;
}
function Trans($flag){
    switch ($flag){
        case 1:$trans='+';break;
        case 2:$trans='-';break;
        case 3:$trans='*';break;
        case 4:$trans='/';break;
        default:$trans='null';break;
    }
    return $trans;
}

/////////////////////////////////////修改参数处
Question1();
Question2(2321);
Question3(1336);

$numbers=235;
$arr=str_split($numbers);
$len=count($arr);
function Question4($n){
    global $arr;
    global $len;
    if ($n==$len){
        for ($i=0;$i<$len;$i++){
            echo $arr[$i];
        }
        echo "<br>";
    }
    for ($j=$n;$j<$len;$j++){
        swap($n,$j);
        Question4($n+1);
        swap($n,$j);
    }
}
function swap($x,$y){
    global $arr;
    list($arr[$y],$arr[$x])=array($arr[$x],$arr[$y]);
}
echo $numbers,"的全序列为","<br>";
/////////////////////////////////////修改参数处
Question4(0);
Last modification:July 12th, 2020 at 01:10 am