4

三項式を因数分解するプログラムを作成していますが、少し混乱して混乱しており、出力を正しく印刷する方法がわかりません。

三項式の例:

2x**2+6x+4 = (1x+2)(2x+2)

これまでのところ、私のコードは方程式の各部分を因数分解するだけです

def factortri(x, b, c, e):
    for i in range(x): 
        if i > 0: 
            if x%i == 0: 
                if i > x/i: 
                    pass
                else: 
                   h = "%s, %s"%(i,x/i)
                   print h
    for i in range(e): 
        if i > 0: 
            if e%i == 0: 
                if i > e/i: 
                    pass
                else:
                    s = (e/i)
                    f = "%s,%s"%(i,s)
                    print f
                    if i*x + s*x == c: 
                        print i
                        print x
                        print s
                        print x
    for l in range(b): 
        if l > 0: 
            if b%l == 0: 
                if l > b/l: 
                    pass
                else:
                    r = (b/l)
                    g = "%s, %s"%(l,r) 
                    if (l+i)*(r+s)== c+e:
                        print "yes"
                    if (r+i)*(l+s)== c+e:
                        print "yes"
                    if (r+s)*(l+i)== c+e:
                        print "yes"
                    if (l+s)*(r+i)== c+e:
                        print "yes"

x = input("First Tri Co-ef: ")
b = input("First Tri Exponent: ")
c = input("Middle Tri Co-ef: ")
e = input("Last Trinomial: ")

factortri(x, b, c, e)

これを行う簡単な方法はありますか?

4

2 に答える 2

4

私の理解が正しければ、あなたの三項式はすべて、変数が 1 つのみの 2 次多項式です。私はこれを次のように解決します:

最初に、二次多項式をで割ってax^2 + bx + cモニック形式 にします。次に、この多項式を 0 に設定し、数式を使用します(Wikipedia などのより読みやすいバージョン ( http://en.wikipedia.org/wiki/Quadratic_equation#Quadratic_formula ) 2 つの解を取得します。x^2 + px + qax_{1,2} = -p/2 +/- sqrt((p/2)^2-q)

ここa(x-x1)(x-x2)で、x1 と x2 は二次方程式の解です。

これをより明確にするために例を追加します。

方程式 がある場合2x^2 + 6x + 4、これを a=2 で割り、 を取得します。これでx^2 + 3x +2、上記の式を使用して解 x1=-2 と x2=-1 を取得します。これで、すべてをまとめて取得できますa(x-x1)(x-x2) = 2(x+2)(x+1)。これは、例と同じです。

于 2013-04-19T06:34:38.687 に答える
1

二次方程式を使用して因数を見つけ、値を代入して戻すのはどうですか?

http://en.wikipedia.org/wiki/Quadratic_equation

注: このメソッドは、指数が等差数列にある場合にのみ使用できます。コメントでこれを尋ねたはずですが、そうするにはポイントが少なすぎます。

于 2013-04-19T06:31:21.753 に答える