たすき掛けの因数分解

 投稿者:山中和義  投稿日:2015年 5月18日(月)10時12分16秒
  !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


 

戻る