function makeQuiz(min, max, op){ var v1 = makeRandom(min, max); var v2 = makeRandom(min, max); var str = ""; str += v1 + " " + op + " " + v2 + " =\n"; str += "sa:\n"; //正答を作る var answerArray = []; var answer = calc(v1, v2, op); answerArray.push(answer); str += answer + "\n"; //誤答を作る var dummyCount = 0; var endlessLoopDetector = 0; while(dummyCount < 3){ var v3 = makeRandom(min, max); var v4 = makeRandom(min, max); var dummyAnswer = calc(v3, v4, op); if(answerArray.indexOf(dummyAnswer) == -1){ str += dummyAnswer + "\n"; answerArray.push(dummyAnswer); dummyCount++ }else{ if(endlessLoopDetector++ > 10**3)break; } } return str; } function calc(a, b, op){ switch(op){ case "+": return a+b; case "*": return a*b; } } function makeRandom(m1, m2){ max = Math.max(m1, m2); min = Math.min(m1, m2); return Math.floor(min + (max - min + 1) * Math.random()); } function makeQuizN(min, max, op, n){ var qArray = []; for(var i = 0; i < n; i++){ qArray.push(makeQuiz(min, max, op)); } return qArray.join("\n"); }