将10000块钱分成5份,且每一份之间的相差的值$d不一样,并且相差$d得大于100。
function splitMoney($money,$num,$difference){
$arr = array();
$v = $money / $num;
for($i = 0;$i < $num - 1; $i ++){
$cur = mt_rand($difference , $difference + ($difference/2));
if($arr[$i] == 0){
$arr[$i] = $v - ($cur/2);
$arr[$i + 1] = $v + ($cur/2);
}else{
$arr[$i + 1] = $v + $cur;
}
}
return $arr;
}
伪代码如上,另外你需要处理总和不等于实际金额的问题。
4 回答13.5k 阅读✓ 已解决
5 回答7.9k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
3 回答503 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.5k 阅读
1 回答514 阅读✓ 已解决
谢邀!