Có bao nhiêu bước trong thuật toán Euclide? ✅ Chi Tiết
Thủ Thuật Hướng dẫn Có bao nhiêu bước trong thuật toán Euclide? Chi Tiết
Bùi Ngọc Chi đang tìm kiếm từ khóa Có bao nhiêu bước trong thuật toán Euclide? được Cập Nhật vào lúc : 2022-12-20 10:30:22 . Với phương châm chia sẻ Kinh Nghiệm về trong nội dung bài viết một cách Chi Tiết Mới Nhất. Nếu sau khi đọc tài liệu vẫn ko hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Admin lý giải và hướng dẫn lại nha.Giả sử $a$ và $b$ là những số nguyên, không phải cả hai đều bằng 0. Ước chung lớn số 1 (gọi tắt là gcd) của $a$ và $b$, được viết là $(a,b)$ hoặc $gcd(a,b)$, là số nguyên dương lớn số 1 chia hết cho tất cả $a$ và . Chúng ta sẽ hầu như chỉ quan tâm đến trường hợp $a$ và $b$ không âm, nhưng lý thuyết này về cơ bản không còn thay đổi nào trong trường hợp $a$ hoặc $b$ âm. Ký hiệu $(a,b)$ hoàn toàn có thể hơi khó hiểu, vì nó cũng khá được sử dụng để biểu thị những cặp có thứ tự và những khoảng chừng mở. Ý nghĩa thường rõ ràng từ ngữ cảnh. Chúng tôi khởi đầu với một số trong những quan sát đơn giản
Nội dung chính Show- bài tập 3. 3Thuật toán Euclide gồm bao nhiêu bước?Có bao nhiêu giải pháp mà thuật toán Euclide đáp ứng?Bước đầu tiên của thuật toán Euclid khi tính toán là gì?Thuật toán Euclid hoạt động và sinh hoạt giải trí ra làm sao?
Bổ đề 3. 3. 1 Giả sử $a$ và $b$ đều không bằng 0
a) $(a,b)=(b,a)$,
b) nếu $a>0$ và $avert b$ thì $(a,b)=a$,
c) nếu $aequiv cpmod b$, thì $(a,b)=(c,b)$
Bằng chứng. Phần (a) rõ ràng, vì ước chung của $a$ và $b$ là ước chung của $b$ và $a$. Đối với phần (b), lưu ý rằng nếu $avert b$ thì $a$ là ước chung của $a$ và $b$. Rõ ràng $a$ là ước lớn số 1 của $a$, vậy là xong. Cuối cùng, nếu $aequiv cpmod b$, thì $bvert a-c$, do đó, tồn tại $y$ sao cho $a-c=by$, i. e. , $c=a-by$. Nếu $d$ chia hết cho tất cả $a$ và $b$, thì nó cũng chia hết cho $a-by$. Do đó mọi ước chung của $a$ và $b$ cũng là ước chung của $c$ và $b$. Tương tự, nếu $d$ chia hết cho tất cả $c$ và $b$, thì nó cũng chia hết cho $c+by=a$, vì vậy bất kỳ ước chung nào của $c$ và $b$ đều là ước chung của $a$ và $ . Điều này đã cho tất cả chúng ta biết ước chung của $a$ và $b$ đúng là ước chung của $c$ và $b$, do đó, đặc biệt, chúng có cùng ước chung lớn số 1. $qed$
Có lẽ thật ngạc nhiên khi phát hiện ra rằng bổ đề này là tất cả những gì thiết yếu để tính toán một gcd, và hơn thế nữa, để tính toán nó một cách hiệu suất cao. Thực tế đáng để ý quan tâm này được gọi là Thuật toán Euclide. Như tên của nó, Thuật toán Euclide đã được Euclid nghe biết và xuất hiện trong The Elements; . Như tất cả chúng ta sẽ thấy, Thuật toán Euclide là một công cụ lý thuyết quan trọng cũng như một thuật toán thực tế. Đây là cách nó thao tác
Để tính $(a,b)$, hãy chia số to hơn (giả sử $a$) cho số nhỏ hơn, vì vậy $a=bq_1+r_1$ và $r_1r_2>r_3ldots$, ở đầu cuối một số trong những $r_k=0$ và $(a,b)=(r_k-1,r_k)=(r_k-1,0)=r_{ . Lưu ý rằng $(a,0)=a$, bởi (b)
ví dụ 3. 3. 2 $$normalbaselines eqalign (198,168)&= (168,30) cr &= (30,18) cr &= (18,12) cr &= (12,6) cr &= ( . cr$$ $square$
Nếu bạn đã thực hiện một số trong những chương trình máy tính, bạn sẽ thấy việc thực hiện thuật toán này thuận tiện và đơn giản ra làm sao trong bất kỳ ngôn từ lập trình hợp lý nào. Vì nó là một thuật toán rất nhanh nên nó đóng một vai trò quan trọng trong nhiều ứng dụng
Với một chút ít kế toán tương hỗ update, tất cả chúng ta hoàn toàn có thể sử dụng Thuật toán Euclide để chỉ ra rằng $gcd(a,b)$ thực sự là một tổ hợp tuyến tính của $a$ và $b$
ví dụ 3. 3. 3 Một lần nữa lấy $a=198$ và $b=168$. $$normalbaselines eqalign { 30 &= 198-168=a-b, cr 18 &= 168-5cdot30=b-5(a-b)=-5a+6b, cr 12 &= 30-18=(a-b
Lưu ý rằng những số ở cột bên trái đúng là số dư được tính toán bởi Thuật toán Euclide. Với một chút ít thận trọng, tất cả chúng ta hoàn toàn có thể biến điều này thành một định lý hay, Thuật toán Euclide mở rộng
Định lý 3. 3. 4 Giả sử $a$ và $b$ là những số nguyên, không phải cả hai đều bằng không. Khi đó tồn tại những số nguyên $x$ và $y$ sao cho $(a,b)=ax+by$
Bằng chứng. Thuật toán Euclide tiến hành bằng phương pháp tìm một dãy những số dư, $r_1$, $r_2$, $r_3$, v.v., cho tới lúc một trong số chúng là gcd. Ta chứng tỏ bằng quy nạp rằng mỗi $r_i$ là tổ hợp tuyến tính của $a$ và $b$. Thuận tiện nhất là giả sử $a>b$ và đặt $r_0=a$ và $r_1=b$. Khi đó $r_0$ và $r_1$ là tổ hợp tuyến tính của $a$ và $b$, là cơ sở của phép quy nạp. Bước lặp lại trong Thuật toán Euclide xác định $r_n+2$ sao cho $r_n=qr_n+1+r_n+2$ hoặc $r_n+2=r_n-qr_{n . Nếu $r_n$ và $r_n+1$ là tổ hợp tuyến tính của $a$ và $b$ (đây là giả thuyết quy nạp) thì $r_n+2$ cũng vậy. $qed$
bài tập 3. 3
Ví dụ 3. 3. 1 Đối với những cặp số nguyên $a$, $b$ cho dưới đây, hãy tìm gcd $g$ và những số nguyên $x$ và $y$ thỏa mãn $g=ax+by$
a) $a=13, b=32$
b) $a=40, b=148$
c) $a=55, b=300$
Ví dụ 3. 3. 2 Nếu $p$ là số nguyên tố và $a$ là số nguyên dương, hãy mô tả $(a,p)$
Ví dụ 3. 3. 3 Giả sử $g$ là gcd của $a$ và $b$. Nếu $i$ và $j$ là những số nguyên và $c=ai+bj$, hãy chứng tỏ $gvert c$
Ví dụ 3. 3. 4 Giả sử $g$ là gcd của $a$ và $b$. Nếu $gvert c$, hãy chứng tỏ rằng tồn tại những số nguyên $i$ và $j$ sao cho $c=ai+bj$
Ví dụ 3. 3. 5 Nếu $g=(a,b)$ và $x=ab$, hãy chứng tỏ $g^2vert x$
Ví dụ 3. 3. 6 Giả sử rằng $dvert a$ và $dvert b$. Chứng minh rằng $dvert(a,b)$
Ví dụ 3. 3. 7 Giả sử $g>0$ và $x$ là bội số của $g^2$. Chứng minh rằng tồn tại những số nguyên $a$ và $b$ sao cho $(a,b)=g$ và $ab=x$. (Gợi ý. có một $n$ sao cho $x=g^2n$; . )
Ví dụ 3. 3. 8. Chứng minh rằng trên thực tế, có vô số cách màn biểu diễn $(a,b)$ dưới dạng tổ hợp của $a$ và $b$. (Gợi ý. sử dụng một phương pháp để tạo ra vô số kĩ năng khác. )
Ví dụ 3. 3. 9 Trong chứng tỏ của định lý , giả sử rằng $r_n=x_na+y_nb$ và $r_n+1=x_n+1a+y_n+1b$, theo giả thuyết quy nạp. Viết $r_n+2$ dưới dạng tổ hợp tuyến tính rõ ràng của $a$ và $b$, đồng thời xác định $x_n+2$ và $y_n+2$
Ví dụ 3. 3. 10 Thuật toán Euclide hoạt động và sinh hoạt giải trí tốt đến mức khó tìm ra những cặp số khiến mất nhiều thời gian. Tìm hai số có gcd bằng 1 mà thuật toán Euclid mất 10 bước
Ví dụ 3. 3. 11 Chứng minh rằng $(F_n,F_n-1)=1$ trong đó $F_n$ là số Fibonacci thứ $n$. (Xem bài tập ở phần. )
Ví dụ 3. 3. 12 Viết chương trình máy tính thực hiện Thuật toán Euclide mở rộng. Nghĩa là, với $a$ và $b$, chương trình sẽ tính toán và hiển thị $gcd(a,b)$, $x$ và $y$