You are on page 1of 2

Gii thut Euclid

Bch khoa ton th m Wikipedia

Gii thut Euclid, hay thut ton Euclid, l mt gii thut gip tnh c s chung ln nht (SCLN) ca hai s mt cch hiu qu. Gii thut ny c bit n t khong nm 300 trc Cng Nguyn. Nh ton hc Hy Lp c Euclid vit gii thut ny trong cun sch ton ni ting Elements.
Mc lc
[n]

1 V d 2 B 3 M gii =

3.1 Chng trnh quy

3.2 Chng trnh dng vng lp

4 Xem thm

[sa]V

Tnh c s chung ln nht ca 91 v 287. Trc ht ly 287 (s ln hn trong 2 s) chia cho 91: 287 = 91*3 + 14 (91 & 14 s c dng cho vng lp k) Nhn xt: bt k s no chia ht bi 287 v 91 cng s chia ht bi 287 - 91*3 = 14. Tng t, s chia ht bi 91 v 14 cng chia ht bi 91*3 + 14 = 287. Do , SCLN(91,287) = SCLN(91,14). Bi ton tr thnh tm SCLN(91,14). Lp li quy trnh trn cho n khi php chia khng cn s d nh sau: 91 = 14*6 + 7 (14 & 7 s c dng cho vng lp k) 14 = 7*2 (khng cn s d, kt thc, nhn 7 lm kt qu) Cui cng ta c: 7 = SCLN(14,7) = SCLN(91,14) = SCLN(287,91).

[sa]B

Gi s a = bq + r, vi a, b, q, r l cc s nguyn, ta c:

[sa]M

gii =

[sa]Chng

trnh quy

procedure USCLN(a, b : positive integers) Begin if a mod b = 0 then USCLN := b else USCLN(b; a mod b); End

[sa]Chng

trnh dng vng lp

procedure USCLN(a, b : positive integers) Begin x := a y := b while y 0 begin r := x mod y x := y y := r end{x la USCLN cn tm}

You might also like