二次方程。得到一个b c

时间:2013-10-26 20:07:09

标签: javascript

嘿伙计们。我想制作一个可以解决二次方程的程序,如: 0 = ax ^ 2 + bx + c。我可以使用变量a,b,c来解决它。问题是你必须手动挑选a,b和c。有没有办法从这样的等式中获取变量? 0 = 5x ^ 2 + 4x + 3 我们在这里得到     a = 5     b = 4     c = 3

我在javascript btw中这样做。 我希望你能帮助我

2 个答案:

答案 0 :(得分:0)

我认为分割方法可以在这里工作:http://www.w3schools.com/jsref/jsref_split.asp 首先将字符串拆分为“+” 然后在“x”上拆分每个字符串 然后抓住三个数组中的第一个元素。

这假设添加的每个功能都具有相同的格式。您必须将所有减号转换为加号(通过使乘数为负),或者检查以减去分号。

答案 1 :(得分:0)

这应该足以让你前进;需要一些装配。

你知道Y值是否总是在左边?您是否会看到Ax^2 + Bx + C = 0形式可能会增加一两步;我假设Y总是在左边。

  1. 我首先从字符串中删除所有空白区域。
    • quadratic = quadratic.replace(/ /g,'');
  2. 然后将字符串拆分为=并使用右侧。
  3. 提取变量(同时保留底片)。

    • var A = quad.match(/([-]?\d+)(?=[a-zA-Z]\^2)/);
      quadratic = quadratic.match(/-?\d+[a-zA-Z]\^2/,'');
      var B = quadratic.match(/-?\d+(?![a-zA-Z]\^)(?=[a-zA-Z])/); quadratic = quadratic.replace(/-?\d+[a-zA-Z]/,'');
      var C = quadratic.match(/-?\d+/);
  4. 将其插入(-B±√(B 2 - 4AC))/ 2a并测试结果

    • 你显然必须做两个独立的功能,因为没有±运算符。
    • 提示:平方Math.pow(x,2)平方根Math.pow(x,.5)Math.sqrt(x)
    • 请记住,如果区别对象> 0,则有两个真实的解决方案,= 0有一个真正的解决方案,或者< 0没有真正的解决方案(但有两个复杂的解决方案)。