JSFiddle - React, Tailwind, and code Playground
by Eshy Lavi
HTML
<body>
<p id="p1">
</p>
<input id="ans" value='-123'/>
<button id='b'>
check
</button>
</body>
JavaScript
var v=[];
var rounds=5;
var S=3;
var maxp=1;
var str_o='f(x) = ';
var vv;
var proceed=false;
var inp_x=Math.floor(Math.random()*20-10);
var answer=-12345;
function loopy(){
v=[];
for (var p=maxp;p>=0;p--){
v.push(Math.round(S*(-0.5+Math.random())));
vv=v[v.length-1];
if (vv!=0){
if (p==maxp){
if (maxp==0){
str_o=str_o+ v[v.length-1]+" ";
} else if (maxp==1){
if (v[v.length-1]==-1){
str_o=str_o+ "-x";
}
else if (v[v.length-1]==1){
str_o=str_o+ "x";
}
else str_o=str_o+ v[v.length-1]+"x";
} else{
str_o=str_o+ v[v.length-1]+"x^"+p+" ";
}
}
else {
if (v[v.length-1]>=0){
if (maxp!=1){
str_o=str_o+ "+ ";
}
else {
if (v[0]!=0)str_o=str_o+ "+ ";
}
}
else {
str_o=str_o+ "- ";
}
if (p==0){
str_o=str_o+ Math.abs(v[v.length-1])+" ";
} else if (p==1){
str_o=str_o+Math.abs(v[v.length-1])+"x ";
} else {
str_o=str_o+Math.abs(v[v.length-1])+"x^"+p+" ";
}//of else
} //of else of p==maxp
} // of if not p==0 /* else alert('0');*/
}// of power
var sumva=0.00;
for (var z=0 ; z<=maxp;z++){
sumva+=v[maxp-z]*Math.pow(inp_x,z);
}
var zero=0.00;
if (sumva.toFixed(2)==zero.toFixed(2)){
str_o="f(x) = 0";
}
document.getElementById('p1').innerHTML=str_o+"<br>find f("+inp_x+")";
str_o="f(x) = ";
}//of loopy
var wrong=false;
function checkanswer(_x){
var sumv=0.00;
for (var z=0 ; z<=maxp;z++){
sumv+=v[maxp-z]*Math.pow(_x,z);
}
answer=(1.00*answer);
if (sumv.toFixed(2)==answer.toFixed(2)){
alert('Good!');
proceed=true;
if (!wrong)wins++;
wrong=false;
}
else...