PHP将一个数字分成若干个数相加
直接上代码
public function pintuan(){
// 示例用法
$number = 10; // 要分成几加几加几
$parts = 3; // 分成3个数相加
$result = $this-> splitNumber($number, $parts);
echo implode(' + ', $result) . ' = ' . array_sum($result);
}
public function splitNumber($number, $parts) {
if ($parts <= 1) {
return [$number];
}
$minValue = 1;
$maxValue = $number - ($parts - 1);
$result = [];
for ($i = 1; $i <= $parts - 1; $i++) {
$part = mt_rand($minValue, $maxValue);
$result[] = $part;
$number -= $part;
$maxValue = $number - ($parts - $i - 1);
}
$result[] = $number;
return $result;
}
运行结果