티스토리 뷰
유클리드호제법의확장
정수a와b의최대공약수를(a,b)라고하자.
이때,아래형태의해가되는정수쌍x와y를구할수있다.
ax+by=(a,b)
유클리드호제법의과정을나열하면아래와같다.
a=bq1+r2
b=r2q2+r3
r2=r3q3+r4
...
rn−1=rnqn+rn+1
rn=rn+1qn+1+rn+2
rn+1=rn+2qn+2+0
나머지가0이되는순간까지반복한다.
이때,rn+2=(a,b)가된다.
rn=rn+1qn+1+rn+2
⇒rn=rn+1qn+1+(a,b)
⇒rn−rn+1qn+1=(a,b)
rn−rn+1qn+1⇒ax+by의형태로정리할수있다면
ax+by=(a,b)의해가되는x와y의쌍을구할수있다.
첫번째식을살펴보자.
a=bq1+r2
⇒a−bq1=r2
⇒a+b(−q1)=r2
ax2+by2=r2의해를구한다면,아래와같다.
x2=1,y2=−q1
두번째식을살펴보자.
b=r2q2+r3
⇒b−r2q2=r3
⇒b−(a−bq1)q2=r3
⇒b−aq2+bq1q2=r3
⇒a(−q2)+b(1+q1q2)=r3
ax3+by3=r3의해를구한다면,아래와같다.
x3=−q2,y3=1+q1q2
세번째식을살펴보자.
첫번째식과두번째식을대입하면아래와같다
r2=r3q3+r4
⇒r2−r3q3=r4
⇒(a+b(−q1))−(a(−q2)+b(1+q1q2))q3=r4
x2,y2,x3,y3로표현하면규칙을찾을수있다.
⇒(ax2+by2)−(ax3+by3)q3=r4
⇒a(x2−x3q3)+b(y2−y3q3)=r4
ax4+by4=r4의해를구한다면,아래와같다.
x4=x2−x3q3,y4=y2−y3q3
아래점화식들을도출할수있다.
xn=xn−2−xn−1qn−1
yn=yn−2−yn−1qn−1
점화식을적용한유클리드의호제법의과정을나열하면아래와같다.
a+b(−q1)=r2⇒ax2+by2=r2⇒a(x0−x1q1)+b(y0−y1q1)=r2
a(−q2)+b(1+q1q2)=r3⇒ax3+by3=r3⇒a(x1−x2q2)+b(y1−y2q2)=r3
...
axn+byn=rn⇒a(xn−2−xn−1qn−1)+b(yn−2−yn−1qn−1)=rn
axn+1+byn+1=rn+1⇒a(xn−1−xnqn)+b(yn−1−ynqn)=rn+1
axn+2+byn+2=rn+2⇒a(xn−xn+1qn+1)+b(yn−yn+1qn+1)=rn+2
rn+2가(a,b)가되는순간아래식의해가되는정수쌍을구하게된다.
axn+2+byn+2=rn+2=(a,b)
알고리즘의초기조건은아래와같다.
r0=a,r1=b로한다.
ax0+by0=r0=a를성립하는해는x0=1,y0=0
ax1+by1=r1=b를성립하는해는x1=0,y1=1
참고 - 유클리드 호제법 - 위키백과
'수학' 카테고리의 다른 글
피보나치 수 구하기 (0) | 2019.03.16 |
---|---|
나머지 곱셈의 역원 (0) | 2019.02.22 |
페르마의 소정리 (0) | 2019.02.21 |
유클리드 호제법 (0) | 2019.02.14 |
- Total
- Today
- Yesterday
- Multimedia
- media
- markdown
- 객체지향
- 마크다운
- OOP
- 추상화
- Encapsulation
- 평창
- 파이선
- abstraction
- 우분투
- Android
- 올림픽
- 크롤링
- 동계
- 다형성
- ubuntu
- ContentResolver
- Class
- 입장권
- Linux
- 클래스
- 캡슐화
- 리눅스
- player
- Video
- Object Oriented Programming
- Polymorphism
- readme.md
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |