我有一个网站需要根据 3 个参数生成随机数学问题:运算符(加法、减法、乘法、除法)、重组(进位或不进位)和列(一或二)。我一直在努力思考如何去做这件事,但我想出的每件事都在某种程度上存在缺陷。
这是我目前正在使用的内容:
function create_problem($operator, $regrouping, $columns){
$top = rand(1,9);
$bottom = rand(1,9);
if($operator == "+"){
if($columns == 1 && $regrouping === false){
$result = array(
'top' => $top,
'bottom' => $bottom,
'formula' => "$top.$operator.$bottom"
);
}
if($columns == 2){
if($regrouping === false){
if($top+$bottom > 9){
$diff = ($top+$bottom)-10;
$top = $diff+rand(1, 3);
}
$result = array(
'top' => $top,
'bottom' => $bottom,
'formula' => "$top.$operator.$bottom"
);
}else{
if($top+$bottom < 10){
$top = rand(1, $bottom+1);
}
}
}
}
return $result;
}
如果有人处理过这个问题,或者如果有人有任何指示,我将不胜感激!