해결책을 찾았지만 동일한 문제가 계속 발생합니다. 두 번째 학위 방정식을 해결하는 자바 스크립트 코드가 있습니다. 여기에 내 코드가있다 :방정식을위한 자바 스크립트 코드
var x1 = document.getElementById('x1').value;
var x2 = document.getElementById('x2').value;
var x3 = document.getElementById('x3').value;
var x4 = document.getElementById('x4').value;
var x5 = document.getElementById('x5').value;
var discriminant = (x2*x2)-(4*(x1*x3));
if (discriminant > -1){
var x1 = (-x2+Math.sqrt(discriminant))/(2*x1);
var x2 = (-x2-Math.sqrt(discriminant))/(2*x1);
document.getElementById('totx1').value = x1;
document.getElementById('totx2').value = x2;
var temp1 = (x5*x1)+1*x4;
document.getElementById('toty1').value = temp1;
var temp2 = (x5*x2)+1*x4;
document.getElementById('toty2').value = temp2;}
x1은 정확하지만 x2는 나에게 잘못된 결과를 준다. 누구든지 나를 도울 수 있을까? 여기에 입력 예제가 있습니다.
2x^2 + 2x - 40 = 0 | y = x4 + x5
올바른 해결책은 [x1 = 4 || y1 = 5] 및 [x2 = -4 || y2 = -5] 그러나 나는 [x1 = 4 || y1 = 5] 및 [x2 = -10 || Y2 = -9]
다시 사용 : 당신이
x1
를 재사용 사실이 거짓이 있습니다 변수 x1과 x2는 두 번째 해가 발견되면 잘못된 x1을 사용합니다. 그게 문제 또는 오타가 아닌지 모릅니다. –텍스트 상자에서 값을 읽으면 항상 문자열이 생기므로 수학 연산에서 사용하기 전에이 문자열을 정수 (parseInt를 통해) 또는 소수를 (parseFloat를 통해) 변환해야합니다. – jbabey
그래, 그게 내 문제와 관련이있어, 방금 해결 했어. –