介绍
本篇文章给大家分享的是有关利用PHP怎么求解方程,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强>一、需求强>
1。给出一个平均值X,反过来求出来,得到这个平均值X的三个数X1, X2, X3,最大值与最小值的差值要小于0.4 (X1-X3都是保留1位小数的数)
2。这三个数X1, X2, X3代表了三组数。满足下面的公式:X1=[(m1, m2)/(m1 - m0)) * 100 (@1);
m0、m1、m2三个数的边界条件如下:
1) 48 & lt; m0<51
2) 0.45 & lt; m1 - m1<0.55
3) m1, m2, m3都是4位的正小数
<强>二,实现强>
根据需求,我想到了使用两个函数来进行处理。
1)一个是已知平均数,求得到这个平均数满足条件的三个数的函数createX ()
2)一个是已知X,求满足公式(@1)和边界条件的三个小数m0、m1、m2
下面是具体的代码实现,不足之处请指出
& lt; php ?//运行echo “开始运行,\ n"; run (); echo “运行结束,\ n"; function run () {/* {{{*/data 美元;=,阵列(40.9,40.5,44.3,47.8,48.5,42.1,46.2); 时间=美元才能res 数组(); foreach才能(dataas美元键) {/*{{{才能*/echo “处理,{$关键}\ n"; ,,,resX 美元;=,createX(关键); ,,,foreach (resXas keyX美元) ,,,{ ,,,,,keyStr 美元;=,(字符串)美元的关键; ,,,,,keyXStr 美元;=,(string) keyX美元; ,,,,,res美元($ keyStr] [keyXStr美元],=,createParams4M ($ keyX); ,,,} ,,}/*}}}*/error_log (print_r (res美元,真的)!”\ n",, 3,, & # 39;/tmp/result.log& # 39;); var_dump (99999, res);退出; 返回才能res美元; }/*}}}*///1。产生平均数function createX (ave)美元 {{{{/* */sum 美元;=,3 * (ave 美元;*,1000); 时间=美元才能x1 x2 美元;=,x3 美元;=,0; 美元才能rand4X1X2 =,兰德(0,300);//美元才能x2 祝辞,x1 美元;祝辞,x3;美元($ i=0;, i<美元,美元ave *, 1000, +, 550;,我+ +)美元 {才能 ,,,x2 美元;=,我美元; ,,,x1 美元;=,x2 美元;作用;rand4X1X2美元; x3 美元,,,,=,sum 美元;——(x1 美元;+,x2美元); ,,,positive 美元;=,x1 美元;祝辞,0,,,,x2 美元;祝辞,0,,,,x3 美元;祝辞,0; ,,,flag 美元;=,(x2安康;x3 美元;& lt;, 400,,,, x2 美元;作用;x3 美元;祝辞,200); ,,,如果(positive 美元;,,,美元标志) ,,,{ ,,,,,//echo “捕捉到\ n"; roundX1 美元;=,圆(x1/1000美元,,1); ,,,,,roundX2 美元;=,圆(x2/1000美元,,1); ,,,,,roundX3 美元;=,圆(x3/1000美元,,1); ,,,,,res 美元;=,数组(roundX1美元,roundX2美元,美元roundX3); ,,,,,flag 美元;=,roundX1 美元;!=,roundX2美元 ,,,,,,,,,,,,roundX3 美元;!=,roundX2美元 ,,,,,,,,,,,,roundX3 美元;!=,roundX1美元; ,,,,,如果(美元标志) ,,,,,{ ,,,,,,,//echo “捕捉到\ n";返回res美元; ,,,,,} ,,,} ,,} echo 才能“Fail 未捕捉到\ n"; returnarray才能(x1, x2,美元,美元x3); }/*}}}*///2。产生平均数function createParams4M (aveX美元) {{{{/* */begin 美元;=,48000; 美元才能最终获得=,51000; 时间=美元才能m0 m1 美元;=,m2 美元;=,0; 美元才能rand4M1M2 =,兰德(450,,550); 美元才能m0 =,兰德(美元开始,结束美元); 时间=美元才能m1 m0 美元;+,rand4M1M2美元; 时间=美元才能m2 m1 美元;作用;((m1 美元;作用;m0美元)* aveX/100美元);//才能echo “捕捉到\ n"; returnarray(圆(m0/1000美元,,4),,圆(m1/1000美元,,4),,圆(m2/1000美元,,4)); }/*}}}*/?在
<强>三,遇到的问题和不足之处强>
1。【数组键值不能相同】开始遇到的是得到的平均数的原始三个值有可能有相同的,但是数组中的关键是不能相同的,于是做了处理。
同时,键值做了字符串的转化
2。【小数处理】还有就是因为涉及的是4位的小数,循环遍历,满足条件输出不方便,就乘1000年以扩大倍数,最后再除以1000还原。
以上就是利用PHP怎么求解方程,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。