Javascript Usng jquery需要创建无余数的除法和
在我目前的项目中,我正在为珠算学生创建随机数学问卷。因此,考试页面将提供一个接一个的总结。基于学生水平,我在前端使用jquery和渲染生成总和,以获得学生答案进行验证。在特定级别中,我需要生成余数为零的除法 所以,我使用下面的函数来生成有时返回未定义的和Javascript Usng jquery需要创建无余数的除法和,javascript,jquery,Javascript,Jquery,在我目前的项目中,我正在为珠算学生创建随机数学问卷。因此,考试页面将提供一个接一个的总结。基于学生水平,我在前端使用jquery和渲染生成总和,以获得学生答案进行验证。在特定级别中,我需要生成余数为零的除法 所以,我使用下面的函数来生成有时返回未定义的和 tripleDigitSingleDigitWithoutRemainder: function() { var dividend = BOBASSESSMENT.general.randomIntFromInt
tripleDigitSingleDigitWithoutRemainder: function()
{
var dividend = BOBASSESSMENT.general.randomIntFromInterval(100, 999);
var divisor = BOBASSESSMENT.general.randomIntFromInterval(2, 9);
console.log("out: " + dividend + "_" + divisor);
console.log("remainder: " + (dividend % divisor));
var result_val = "";
// result_val = dividend % divisor;
if(dividend % divisor != 0)
{
console.log('loop_again');
BOBASSESSMENT.general.tripleDigitSingleDigitWithoutRemainder();
}else{
result_val = dividend + "_" + divisor;
console.log("return: " + result_val);
}
console.log("final_return: " + result_val);
return result_val;
}
因此,请在这里帮助我做进一步的工作
要求是一个接一个地显示问题,我需要一个除数值和除数值,这个除数值的余数为0。这意味着16%2=0与16%3=1不同
你能在这里请人帮忙吗。如评论中所说。通过创建一个产品来创建一个工作部门不是更好吗 函数生成{ //数字[2-9] var small=Math.floorMath.random*8+2 //这将给出电流分配器的极限值 var限制=Math.ceil900/小 //我们现在检查最小值 var最小值=数学地板100/小 //我们创建一个具有给定限制的新随机变量 var big=Math.ceilMath.random*限制+最小值 //创建产品 var乘积=大*小; 返回{问题:产品+'/'+小,回答:大} }
console.loggenerate如注释中所述,这里有一种使用循环以不同值而不是递归重试的方法:
tripleDigitSingleDigitWithoutRemainder: function()
{
for(;;)
{
var dividend = BOBASSESSMENT.general.randomIntFromInterval(100, 999);
var divisor = BOBASSESSMENT.general.randomIntFromInterval(2, 9);
if(dividend % divisor == 0)
{
var result_val = dividend + "_" + divisor;
console.log("return: " + result_val);
return result_val;
}
}
}
这里我们有一个无限循环,我们一直循环,直到我们有一个有效的问题,然后立即返回,当我们这样做。对于是编写无限循环的一种方法:还有其他方法,例如while true{…},如果这对您来说更清楚的话
然而,我更喜欢Wimanicesir答案中构造正确值的方法,而不是反复尝试,直到找到一个,这可能需要更多的步骤。生成除数和答案,即示例中的8和2,然后将它们相乘,得到第一个数字16,不是更容易吗?然后你知道16/2没有余数,因为你是这样构造的。至于你现有的代码,你递归地调用TripleDigitSingleDigitWithoutResister来重试,但是放弃了从中得到的结果。保存递归的结果,即result_val=bobasessment.general.TripleDigitSingleDigitWithout余数;但是我更清楚的是,如果函数中有一个循环,当你没有得到一个有效的结果时,这个循环会重复,而不是递归。是的,我们可以这样生成。但是,在某些情况下,我们有一些规则,比如股息应该是3位数或2位数。为此,我首先创造红利。谢谢@Rup。是的,我现在拿到了。将函数分配给“result_val”变量时,该问题得到解决。再次感谢。如果可能的话,请给我一个使用循环而不是递归的例子。好的循环例子,但是我仍然想说,我的答案是基于你的评论建议将更快地生成,因为它不会生成错误的答案。