一个html小例子,解一元二次方程练习

一个解一元二次方程的练习,用于中学生练习十字相乘法,因为中学生可能没有电脑,所以用html编写,在手机上也可以用。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>十字相乘练习</title>
</head>
<body>
<script>
var ans = ""
function gcd3(a,b,c){
    
    
	var result = 1;
	for(var i = 1; i <= Math.abs(a) && i <= Math.abs(b) && i <= Math.abs(c); i++ ){
    
    
		// console.log(i,a%i,b%i,c%i)
		if(a%i == 0 && b%i == 0 && c%i == 0){
    
    
			result = i;
		}
	}
	return result;
}
function gcd2(a,b){
    
    
	var result = 1;
	for(var i = 1; i <= Math.abs(a) && i <= Math.abs(b); i++ ){
    
    
		// console.log(i,a%i,b%i)
		if(a%i == 0 && b%i == 0){
    
    
			result = i;
		}
	}
	return result;
}
function genEquation(){
    
    
	ques_num = document.getElementById("ques_num").value;
	equation = ""
	ans = ""
	for (var i = ques_num - 1; i >= 0; i--) {
    
    
		var m=0,n=0,l=0,k=0;
		while(m==0||n==0||l==0||k==0){
    
    
			m = parseInt(Math.random()*(10-(-10)+1)-10);
			n = parseInt(Math.random()*(10-(-10)+1)-10);
			l = parseInt(Math.random()*(50-(-50)+1)-10);
			k = parseInt(Math.random()*(10-(-10)+1)-10);
		}
		var a = m*n;
		var b = (m*l+n*k);
		var c = l*k;
		//console.log(a,b,c)
		var abc = gcd3(a,b,c);
		a /= abc
		b /= abc
		c /= abc
		var mk = gcd2(m,k);
		var nl = gcd2(n,l);
		m /= mk
		k /= mk
		n /= nl
		l /= nl
		// console.log(a,b,c);
		// console.log(gcd3(a,b,c));
		console.log(m,k,n,l)
		equation += "<p>"+a+"x²+"+b+"x+"+c+"=0</p>"
		ans += "<p>"+a+"x²+"+b+"x+"+c+"=0 --> "+"("+m+"x+"+k+")("+n+"x+"+l+")=0</p>"
		equation = equation.replace(/\+\-/g,"-")
		equation = equation.replace(/1x/g,"x")
		equation = equation.replace(/\(\-([0-9]*?)x\-/g,"($1x+")
		ans = ans.replace(/\+\-/g,"-")
		ans = ans.replace(/1x/g,"x")
		ans = ans.replace(/\(\-([0-9]*?)x\-/g,"($1x+")

	}
	document.getElementById("equation").innerHTML=equation;
}
function showAns(){
    
    
	document.getElementById("equation").innerHTML=ans;
}
</script>
<noscript>抱歉,你的浏览器不支持 JavaScript!</noscript>
<h1>十字相乘练习</h1>
<form>
题目数量: <input type="text" id="ques_num">
<button type="button" onclick="genEquation()">生成方程</button>
<button type="button" onclick="showAns()">显示答案</button>
</form>
<div id="equation"></div>
</body>
</html>

Guess you like

Origin blog.csdn.net/qq_39573785/article/details/108176535
Recommended