Chinese Remainder Theorem แบบ กาก ๆ เหมือน HW 05 ข้อ 2

153 days ago by bsbblk75

# 2 สมการ #กำหนดให้ สมการ x = a (mod b) และ x = c (mod d) a=3 #<-----ใส่ a ตัวแปรฝั่งซ้ายสมการที่นำมาลบออก [ตัวที่ 1] b=7 #<-----ใส่ b ตัวแปร อินเวอร์ส(ยกกำลัง -1) [ตัวที่ 2] c=4 #<-----ใส่ c ตัวแปรฝั่งขวาที่เป็นตัวตั้ง [ตัวที่ 3] d=9 #<----- ใส่ d ตัวแปร Modulo [ตัวที่ 4] แล้วกด "Enter" 1 ครั้ง เป็นอันเสร็จพิธี f=(c-a) # อย่าไปสนใจ! การคิดแบบกาก ๆ ข้างล่างนี้ ลอกเลย ๆ จบ!^^ R=IntegerModRing(d) x=R(b)^(-1) y=R(f) z=R(x)*R(f) n=gcd(b,d) m=crt(a,c,b,d) print "จาก โจทย์ x = ",a,"(mod ",b,") และ x = ",c,"(mod",d,")" print "Check gcd(" , b , "," , d , " ) = ", n ; # if n == 1: # print "OK!!" , "\n" # else: # print " ไม่มีผลเฉลย เนื่องจาก gcd(" , b , "," , d , " ) = ", n , " != 1 " , "\n" print "จาก x = ",a,"(mod ",b,") จะได้ x = ",a," + ",b,"y ....(1)" print "ได้ ",a," + ",b,"y = ",c,"(mod",d,")" print "y = ( ",b,"^(-1) )(",c,"-",a,") (mod",d,")" print " = ( ",x," )( ",y," )(mod",d,")" print " = " , z ,"(mod",d,")" print "แทนค่า y ใน สมการ (1) ได้ " print"x = ",a," + (",b,")(",z,") = ",m print"x = ",m," (mod ( " ,b,"*",d,"))" print"x = ",m," (mod ",b*d,") ...###" print "Check Answer = " , m ," OK? \n" 
       
จาก โจทย์  x =  3 (mod  7 ) และ x =  4 (mod 9 )
Check gcd( 7 , 9  ) =  1
จาก   x =  3 (mod  7 ) จะได้  x =  3  +  7 y    ....(1)
ได้  3  +  7 y  =   4 (mod 9 )
y = (  7 ^(-1) )( 4 - 3 ) (mod 9 )
   = (  4  )(  1  )(mod 9 )
   =  4 (mod 9 )
แทนค่า   y ใน สมการ (1) ได้ 
x =  3  + ( 7 )( 4 ) =  31
x =  31  (mod (  7 * 9 ))
x =  31  (mod  63 )                ...###
Check Answer  =  31  OK? 
จาก โจทย์  x =  3 (mod  7 ) และ x =  4 (mod 9 )
Check gcd( 7 , 9  ) =  1
จาก   x =  3 (mod  7 ) จะได้  x =  3  +  7 y    ....(1)
ได้  3  +  7 y  =   4 (mod 9 )
y = (  7 ^(-1) )( 4 - 3 ) (mod 9 )
   = (  4  )(  1  )(mod 9 )
   =  4 (mod 9 )
แทนค่า   y ใน สมการ (1) ได้ 
x =  3  + ( 7 )( 4 ) =  31
x =  31  (mod (  7 * 9 ))
x =  31  (mod  63 )                ...###
Check Answer  =  31  OK?