针对取最小值最大值的小学数学题的出题函数,JSA实现(二)
回复求大神指点的两个链接
链接针对取最小值最大值的小学数学题的出题函数,JSA实现(一)
case 4:
//求最小值4 ()-a>c-d >=20 <=99-(1) >=10 <=c-10-0+1 >=10 <=99-(c-d)-1-0
console.log("求最小值,题型为:()-a>c-d")
n1=getRandomIntInclusive(minnumber,maxnumber-minvalue);
n2=getRandomIntInclusive(minnumber,n1-minnumber-minvalue+1);
n3=getRandomIntInclusive(minnumber,maxnumber-(n1-n2)-minvalue-1);
break;
case 5:
//求最小值5 a-()<c+d >=10 <=99-10 >=10 <=99-c >=c+d <=99
console.log("求最小值,题型为:a-()<c+d")
n1=getRandomIntInclusive(minnumber,maxnumber-minnumber);
n2=getRandomIntInclusive(minnumber,maxnumber-n1);
n3=getRandomIntInclusive(n1+n2,maxnumber);
break;
case 6:
//a-()<c-d >=20 <=99 >=10 <=c-10 >=c-d <=99
console.log("求最小值,题型为:a-()<c-d")
n1=getRandomIntInclusive(minnumber*2,maxnumber);
n2=getRandomIntInclusive(minnumber,n1-minnumber);
n3=getRandomIntInclusive(n1-n2,maxnumber);
break;
case 7:
//求最大值7 a-()>c-d >=20 <=99-0-1 >=10 <=c-10-0 >=10+0+1 <=99
console.log("求最大值,题型为:a-()>c-d")
n1=getRandomIntInclusive(minnumber*2,maxnumber-minvalue);
n2=getRandomIntInclusive(minnumber,n1-minnumber-minvalue);
n3=getRandomIntInclusive(n1-n2+minvalue,maxnumber);
break;
case 8:
//求最大值8 a-()>c+d >=10 <=99-10-(1+0) >=10 <=99-(1+0)-c >=c+d+1+0 <=99 >=0 78
console.log("求最大值,题型为:a-()>c+d")
n1=getRandomIntInclusive(minnumber,maxnumber-minnumber-minvalue-1);
n2=getRandomIntInclusive(minnumber,maxnumber-n1-minvalue-1);
n3=getRandomIntInclusive(n1+n2+minvalue+1,maxnumber);
break;
case 9:
//求最大值9 a+()<c+d >=10 <=99-10 >=10 <=99-c >=10 <=c+d-(0+1) >=0 88
console.log("求最大值,题型为:a+()<c+d")
n1=getRandomIntInclusive(minnumber,maxnumber-minnumber);
n2=getRandomIntInclusive(minnumber,maxnumber-n1);
n3=getRandomIntInclusive(minnumber,n1+n2-minvalue-1);
break;
case 10:
//求最大值10 ()+a<c+d 同上
console.log("求最大值,题型为:()+a<c+d")
n1=getRandomIntInclusive(minnumber,maxnumber-minnumber);
n2=getRandomIntInclusive(minnumber,maxnumber-n1);
n3=getRandomIntInclusive(minnumber,n1+n2-minvalue-1);
break;
case 11:
//求最大值11 ()-a<c+d >=10 <=99-10-10+1 >=10 <=99-10-10+1-c >=10 <=99-(c+d)+1
console.log("求最大值,题型为:()-a<c+d")
n1=getRandomIntInclusive(minnumber,maxnumber-minnumber*2+1);
n2=getRandomIntInclusive(minnumber,maxnumber-n1-minnumber*2+1);
n3=getRandomIntInclusive(minnumber,maxnumber-(n1+n2)+1);
break;
case 12:
//求最大值12 a+()<c-d >=20+0+1 <=99 >=10 <=c-10-0-1 >=10 <=c-d-1-0
console.log("求最大值,题型为:a+()<c-d")
n1=getRandomIntInclusive(minnumber*2+minvalue+1,maxnumber);
n2=getRandomIntInclusive(minnumber,n1-minnumber-minvalue-1);
n3=getRandomIntInclusive(minnumber,n1-n2-minvalue-1);
break;
case 13:
//求最大值13 ()-a<c-d >=20+0+2 <=99-0-1 >=10 <=c-10-2 >=10 <=99-(c-d)-1
console.log("求最大值,题型为:()-a<c-d")
n1=getRandomIntInclusive(minnumber*2+minvalue+1,maxnumber-minvalue);
n2=getRandomIntInclusive(minnumber,n1-minnumber-minvalue-1);
n3=getRandomIntInclusive(minnumber,maxnumber-(n1-n2)-minvalue);
break;
}
return Calculate_equation[ctype].replace("c",n1).replace("d",n2).replace("a",n3);
}
function test_number(equations){
ISequations = false;
let pattern = /\(.*?\)/;
let substr=str=String(equations);
for(var i=100;i>0;i--){
str = str.replace(pattern,"( "+ i +" )");
substr = str.replace(pattern,"( "+ (i-1) +" )");
if (eval(str) && !eval(substr)){equations = str;ISequations = true;break;}
}
for(var i=0;i<100;i++){
str = str.replace(pattern,"( "+ i +" )");
substr = str.replace(pattern,"( "+ (i+1) +" )");
if (eval(str) && !eval(substr)){equations = str;ISequations = true;break;}
}
return equations;
}
function getRandomInt(n,m){
//生成一个n到m-1之间的随机数字
return Math.floor(Math.random()*(m-n))+n;
}
function getRandomIntInclusive(n,m){
//生成一个n到m之间的随机数字,包括n 和 m
return Math.floor(Math.random()*(m-n+1))+n;
}