如果2元分成3分,每份是0.66666666666666666666666666666667但是我想分成。
第一份:0.67
第二份:0.67
第三份:0.66
加起来要刚好等于2于此类推:份出来的平均数只要有长串小数点。都要以上面方法得出一个平均数不知道如何写算法。希望能得到大家的帮忙。

解决方案 »

  1.   

    我的傻傻的方法……<?php
    $num = 2;
    function Div($numerator,$denominator){
    for($i=1;$i<$denominator;$i++){
    $result[] = round($numerator/$denominator,2);
    }
    $result[] = $numerator - $result[0]*($denominator-1);
    return $result;
    }
    print_r(Div(2,3));
    ?>
    结果
    Array
    (
        [0] => 0.67
        [1] => 0.67
        [2] => 0.66
    )
      

  2.   

    bookmoth2和3是没有规律的。。多少都可以出现如果是2和19就不行了。
      

  3.   

    function avg($sum,$n,$dot = 2){
    $arr = array_pad(array(),$n,round($sum/$n,$dot));
    array_pop($arr);
    array_push($arr,$sum-array_sum($arr));
    return $arr;
    }
    var_dump(avg(2,3));
    var_dump(avg(3,7,4));