Javascript 帮助生成简单数学问题的随机数

Javascript 帮助生成简单数学问题的随机数,javascript,random,Javascript,Random,我正在尝试编写一些简单的代码,可以生成40道数学题。用户的目标是在表单字段中输入一个数字,该数字表示任何问题的最高可能总和(例如,仅生成两个数字加起来等于或小于10的问题)。单击生成问题后,将生成随机数来创建40个数学问题。诀窍是这两个数字的总和不能超过一开始输入的数字 我可以生成一个随机数,但如果没有一些糟糕的代码,我就无法生成不同的随机数,我也不知道如何设置逻辑,使问题与用户输入的级别(即可能的最高总和)匹配 任何帮助都将不胜感激 谢谢 编辑: 有人问我要什么,这不算什么。刚好足以产生两个随

我正在尝试编写一些简单的代码,可以生成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.
}