发布网友 发布时间:2022-04-06 01:17
共1个回答
热心网友 时间:2022-04-06 02:46
按照你的要求编写的php程序如下(注意给出的数组得是从小到大排好序的数组,给出的公式有加法也有乘法)
我不知道你的输入值的方式,所以输入值直接写在变量v中了.
<?php
$_arr = array(1,2, 5, 10,1000, 2000, 5000);
$v=1007;
$result=array();
$va=$v;
$j=0;
$i=count($_arr)-1;
while($i>=0){
if($_arr[$i]<=$va){
$chengshu=floor($va/$_arr[$i]);
$result[$j++]=$_arr[$i];
$result[$j++]=$chengshu;
$va=$va%$_arr[$i];
}
$i--;
}
if($va==0){
for($k=0;$k<$j;$k+=2){
if($k==$j-2){
if($result[$k+1]==1){
echo $result[$k]."=".$v;
}else{
echo $result[$k]."*".$result[$k+1]."=".$v;
}
}else{
if($result[$k+1]==1){
echo $result[$k]."+";
}else{
echo $result[$k]."*".$result[$k+1]."+";
}
}
}
}else{
echo "没有公式使其值等于".$v;
}
?>