编程的乐趣
今天公司财务要开一些发票,内容是纵贯线演唱会门票,但是要拆开来开,比如总价是13300,必须按380、580、800、1280、1680这五种形式的组合,起始就是通过这样的等式($a*380+$b*580+$c*800+$d*1280+$e*1680)==$total=13300来求出abcde的值,其中abcde必须是大于或者等于0的整数,他们在那用计算器算了半天没算出来问我,我想到用php的循环来算,结果就有了下面的这一段代码,还真好用 光是13300就有100多种组合方法,这还是怕脚本超市把循环限制了一下次数。忽然更加感觉到计算机的伟大,如果是人工来算,挨个循环试,找到一种方案也可能会好用半天时间。
<?php $j=0; $total=13300; for($a=0;$a<40;$a++){ for($b=0;$b<30;$b++){ for($c=0;$c<20;$c++){ for($d=0;$d<20;$d++){ for($e=0;$e<20;$e++){ if(($a*380+$b*580+$c*800+$d*1280+$e*1680)==$total) { echo $j+1; echo '<font color=red>种方案 a'.$a.'-b'.$b.'-c'.$c.'-d'.$d.'-e'.$e.'</font><br />'; $j++; } } } } } } ?> |
