作业要求
代码实现
<?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);