|
!2次式の因数分解 - たすき掛け
考察
a,b,cは互いに素な整数とする。
ax^2+bx+c=(Px+Q)(Sx+T)=PSx^2+(PT+QS)x+QT
PT+QS=b、(PT)(QS)=(PS)(QT)=acなので、PT,QSを2つの解にもつ2次方程式は、t^2-bt+ac=0
2解をα,βとして、
P Q β=QS
S T α=PT
a c
より、
P=gcd(a,α)として、S=a/P、T=α/P、Q=c/T
(終り)
OPTION ARITHMETIC RATIONAL
DATA 6,7,-3 !6x^2+7x-3=(2x+3)(3x-1)
!DATA 6,7,-5 !6x^2+7x-5=(3x+5)(2x-1)
!DATA 4,-23,15 !(4x-3)(x-5)
!DATA 3,10,3 !(x+3)(3x+1)
!DATA 12,-1,-6 !(3x+2)(4x-3)
!DATA 3,-8,4 !(3x-2)(x-2)
!DATA 3,5,7 !不可
READ A,B,C !係数を読み込む
LET D=B^2-4*A*C !判別式
PRINT D !debug
IF D>=0 AND INTSQR(D)^2=D THEN !平方数なら
LET X1=(B+SQR(D))/2 !解の公式、連立方程式を解く
LET X2=(B-SQR(D))/2
PRINT X1;X2 !debug
LET P=SGN(A)*GCD(A,X1) !(Px+Q)(Sx+T)
LET S=A/P
LET T=X1/P
LET Q=C/T
PRINT P;Q; S;T
ELSE
PRINT "因数分解できません。"
END IF
END
その2 解の公式
ax^2+bx+c=0の2つの解をα,βとすると、ax^2+bx+c=a(x-α)(x-β)=(2ax-2aα)(2ax-2aβ)/(4a)
OPTION ARITHMETIC RATIONAL
DATA 6,7,-3 !6x^2+7x-3=(2x+3)(3x-1)
!DATA 6,7,-5 !6x^2+7x-5=(3x+5)(2x-1)
!DATA 4,-23,15 !(4x-3)(x-5)
!DATA 3,10,3 !(x+3)(3x+1)
!DATA 12,-1,-6 !(3x+2)(4x-3)
!DATA 3,-8,4 !(3x-2)(x-2)
!DATA 3,5,7 !不可
READ A,B,C !係数を読み込む
LET D=B^2-4*A*C !判別式
PRINT D !debug
IF D>=0 AND INTSQR(D)^2=D THEN !平方数なら
LET X1=-B+SQR(D) !2つの解(2a倍)
LET X2=-B-SQR(D)
PRINT X1;X2 !debug
LET G=SGN(A)*GCD(2*A,X1) !Px+Q
PRINT 2*A/G; -X1/G
LET G=GCD(2*A,X2) !Sx+T
PRINT 2*A/G; -X2/G
ELSE
PRINT "因数分解できません。"
END IF
END
|
|