How to make 5 random numbers with sum of 100

前端 未结 8 1631
旧巷少年郎
旧巷少年郎 2020-12-03 13:17

do you know a way to split an integer into say... 5 groups. Each group total must be at random but the total of them must equal a fixed number.

for example I have \"

8条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-03 13:26

    $number = 100;
    $numbers = array();
    $iteration = 0;
    while($number > 0 && $iteration < 5) {
        $sub_number = rand(1,$number);
        if (in_array($sub_number, $numbers)) {
            continue;
        }
        $iteration++;
        $number -= $sub_number;
        $numbers[] = $sub_number;    
    } 
    
    if ($number != 0) {
        $numbers[] = $number;
    }
    
    print_r($numbers);
    

提交回复
热议问题