将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 回答1.2k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
4 回答2k 阅读
2 回答776 阅读✓ 已解决
3 回答573 阅读
1 回答869 阅读✓ 已解决
1 回答405 阅读✓ 已解决
谢邀!