我正在为孩子们创建一个算法,该算法将创建随机数,并在每行显示5个数字,最多显示6行。对于整数来说,这很好。但当我取负数和正数之间的随机数时,就有可能得到负数。那么,我应该写什么,这样无论取负数,结果都只有正数或零?下面是我的代码,
$Final_Array = array();
$Final_Ansarray = array();
for ($i = 1; $i < 31; $i++) {
$Random_Number = mt_rand(-4,8);
$RandVal = $Random_Number . "";
array_push($Final_Array, $RandVal);
}
$Chunked_Array = array_chunk($Final_Array, 5);
foreach ($Chunked_Array as $key => $value) {
foreach ($value as $key2 => $value2) {
echo $value2 . "'n";
}
echo "|";
}
foreach ($Chunked_Array as $k => $subArray) {
$Answers = array_sum($subArray);
echo $Answers . "|";
array_push($Final_Ansarray, $Answers);
}
试试这个
$cols = 5;
$rows = 6;
$array = array();
for ($j = 0; $j < $rows; $j++)
{
do
{
for ($i = 0; $i < $cols; $i++)
$array[$i] = mt_rand(-4, 8);
}
while (array_sum($array) < 0); // pass only non negative sums
echo'sum', json_encode($array), ' = ', array_sum($array), PHP_EOL;
}
示例输出
sum[1,-1,2,8,-2] = 8
sum[1,5,5,5,-4] = 12
sum[2,7,-1,6,0] = 14
sum[8,0,-2,-1,0] = 5
sum[7,-2,8,4,2] = 19
sum[7,-4,-4,0,1] = 0