Javascript 帮助生成简单数学问题的随机数
我正在尝试编写一些简单的代码,可以生成40道数学题。用户的目标是在表单字段中输入一个数字,该数字表示任何问题的最高可能总和(例如,仅生成两个数字加起来等于或小于10的问题)。单击生成问题后,将生成随机数来创建40个数学问题。诀窍是这两个数字的总和不能超过一开始输入的数字 我可以生成一个随机数,但如果没有一些糟糕的代码,我就无法生成不同的随机数,我也不知道如何设置逻辑,使问题与用户输入的级别(即可能的最高总和)匹配 任何帮助都将不胜感激 谢谢 编辑: 有人问我要什么,这不算什么。刚好足以产生两个随机数:Javascript 帮助生成简单数学问题的随机数,javascript,random,Javascript,Random,我正在尝试编写一些简单的代码,可以生成40道数学题。用户的目标是在表单字段中输入一个数字,该数字表示任何问题的最高可能总和(例如,仅生成两个数字加起来等于或小于10的问题)。单击生成问题后,将生成随机数来创建40个数学问题。诀窍是这两个数字的总和不能超过一开始输入的数字 我可以生成一个随机数,但如果没有一些糟糕的代码,我就无法生成不同的随机数,我也不知道如何设置逻辑,使问题与用户输入的级别(即可能的最高总和)匹配 任何帮助都将不胜感激 谢谢 编辑: 有人问我要什么,这不算什么。刚好足以产生两个随
<script>
function myFunction()
{
var x=document.getElementById("number")
x.innerHTML=Math.floor((Math.random()*10)+1);
var x=document.getElementById("number2")
x.innerHTML=Math.floor((Math.random()*10)+1);
}
</script>
<div class="row">
<div class="span2"></div>
<div class="span2">
<div id="number" style="display:inline"></div>
</div>
<div class="span2"></div>
<div class="span2">
<div id="number2" style="display:inline"></div>
</div>
函数myFunction()
{
var x=document.getElementById(“编号”)
x、 innerHTML=Math.floor((Math.random()*10)+1);
var x=document.getElementById(“number2”)
x、 innerHTML=Math.floor((Math.random()*10)+1);
}
这将有助于解决多个问题,并有助于您约束总和不超过特定的最高允许总和:
function myFunction(highest, i) {
// The sum of two integers A and B, neither one negative,
// is less than or equal to "highest".
// Fill two elements, example IDs: numberA1 and numberB1 when i == 1.
var x=document.getElementById("numberA" + i)
n=Math.floor(Math.random()*(highest+1));
x.innerHTML=n
var x=document.getElementById("numberB" + i)
x.innerHTML=Math.floor(Math.random()*(highest + 1 - n));
}
你的意思是你想这样做:
function getRand(max) {
return Math.floor((Math.random() * max)+1);
}
limit=40; // limit of the 2 numbers you want to add
answer=getRand(limit); // get a random value for the answer
num1=getRand(answer); // get one random number: 0 to answer
num2= answer - num1; // calc the other number
alert("What is "+num1+" + "+num2+" ?" );
这可能足够了(或至少是朝正确方向迈出了一步):
函数生成器域(最大值){
返回Math.floor((Math.random()*max)+1);
}
var questionId=[],
数量=40,
maxValueOfSum=10,
q=0,
i=0;
虽然(QCA到目前为止,你能发布你的代码吗?解释什么不起作用,你是如何试图解决它的,并发布一个实时演示来重现你的特定问题。正如我所说,我不知道如何做,因为我对这一点几乎是完全陌生的。请参阅上面对我的评论的编辑。我建议使用以下文档:@minopret我在这段时间内多次看到这个页面我所有的搜索,不幸的是,它没有多大帮助。我甚至不知道如何显示在正确的div中生成的随机数。这也无助于限制某些和的逻辑。你需要自己构建它吗?或者一个现有的服务(如服务)会有用吗?如果OP不知道怎么做为了编写代码来解决他的问题,我怀疑他是否能够识别解决他的问题的代码。请解释您的解决方案。您从未使用过maxtot
,并且您的所有变量都是全局变量…并且您的总数始终是限制
。。。
function generateRandom(max) {
return Math.floor((Math.random() * max)+1);
}
var questionIDs = [],
quantity = 40,
maxValueOfSum = 10,
q=0,
i=0;
while(q<quantity && i<100){
var answer = generateRandom(maxValueOfSum),
A = generateRandom(answer),
B = answer - A,
id = ''+A+''+B;// < a string id for adding to our array of used questions
if(questionIDs.indexOf(id) == -1){// if this question does not already exist
questionIDs.push(id);//add the id to the list
q++;//increment question count
document.getElementById('questions').innerHTML+='<div>Q'+q+': '+A+' + '+B+' = ______</div>';//append some HTML
}
i++;//increment the loop counter so it doesnt continue forever in cases where it isnt possible to get [quantity] unique questions.
}