Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
1,46 MB
Nội dung
1 Bộ giáo dục đào tạo Trờng đại học Vinh - Phạm mạnh Quyết Về số thuật toán số học ứng dụng Luận văn thạc sĩ toán học Vinh - 2006 Bộ giáo dục đào tạo Trờng đại học Vinh - Phạm Mạnh Về số thuật toán số học ứng dụng Chuyên ngành: Đại số & Lý thuyết số Mã số: 60 46 05 Luận văn thạc sĩ toán học Ngời hớng dẫn khoa học PGS.TS Nguyễn Thành Quang Vinh - 2006 Lời cảm ơn Luận văn đợc thực hoàn thành Trờng Đại học Vinh, dới hớng dẫn tận tình PGS TS Nguyễn Thành Quang Nhân dịp này, tác giả xin bày tỏ lòng biết ơn kính trọng sâu sắc tới thầy giáo hớng dẫn PGS TS Nguyễn Thành Quang, ngời đặt phơng hớng nghiên cứu hớng dẫn tác giả hoàn thành luận văn Trong trình học tập viết luận văn, tác giả nhận đợc giúp đỡ dạy bảo tận tình GS TS Nguyễn Quốc Thi, PGS TS Nguyễn Quý Dy, PGS TS Ngô Sỹ Tùng, PGS TS Lê Quốc Hán, TS Mai Văn T, TS Chu Trọng Thanh thầy giáo chuyên ngành Đại số & Lí thuyết số, Khoa Toán Khoa Đào tạo Sau đại học Trờng Đại học Vinh Tác giả xin trân trọng cảm ơn giúp đỡ quý báu Tác giả xin chân thành cảm ơn học viên cao học toán khóa 12 trao đổi bổ ích nhiều chứng minh chi tiết luận văn Tác giả xin chân thành cảm ơn Sở Giáo dục Đào tạo Nghệ An, Phòng Giáo dục huyện Quỳnh Lu Trờng THCS Quỳnh Hồng Quỳnh Lu tận tình giúp đỡ tinh thần vật chất để tác giả hoàn thành luận văn Tác giả xin chân thành cảm ơn học viên cao học Khóa XXII Toán trao đổi bổ ích nhiều chứng minh chi tiết Luận văn không tránh khỏi nhiều thiếu sót, tác giả mong muốn nhận đợc giúp đỡ bảo thầy cô giáo bạn đồng nghiệp Mở đầu Ngày máy tính thâm nhập vào hầu hết lĩnh vực khoa học đời sống Nhiều chương trình ứng dụng phát triển liên quan tới quản lý dự liệu, in ấn, đồ họa, xử lý ảnh Riêng ngành toán có sản phẩm mang tính phổ dụng Mathematica, Matlat, Maple nhiều chương trình chuyên dụng cho môn toán học Những phần mềm giúp ích nhiều cho việc giảng dạy toán, học toán việc ứng dụng toán ngành kỹ thuật, kinh tế nước phát triển chúng trở thành cẩm nang nhiều sinh viên nhà khoa học Maple cho ta công cụ tốt để triển khai thuật toán có độ phức tạp cao mà mẹo mực thủ công thay Maple có đặc tính ưu việt có ngôn ngữ câu lệnh giống với ngôn ngữ toán học thông thường, dễ sử dụng, đòi hỏi cấu hình máy không lớn, đáp ứng nhu cầu tính toán nhiều đối tượng Maple hệ phần mềm chuyên dụng cho công việc tính toán bao gồm tính toán tuý ký hiệu toán học, tính toán số tính toán đồ thị Sản phẩm Trường Đại học Tổng hợp Waterloo (Canada) Trường Đại học kỹ thuật Zurich (ETZ) xây dựng đưa vào thương mại năm 1985 Qua nhiều lần cải tiến Maple phổ biến rộng rãi giới Maple tạo cho cách tiếp cận với toán học sinh động sáng tạo Nhằm góp phần đẩy mạnh ứng dụng công nghệ thông tin vào đổi phương pháp giảng dạy nghiên cứu toán học nhà trường phổ thông, mục tiêu luận văn bước đầu tìm hiểu giới thiệu thuật toán số học, sử dụng phần mềm tin học để thực số tính toán cụ thể tính toán hình thức Sau thời gian tìm hiểu sử dụng, định chọn phần mềm tính toán Maple để thực số tính toán phương diện đại số số học Với lý trên, chọn hướng đề tài luận văn Về số thuật toán số học ứng dụng Cấu trúc luận văn gồm chương với phần mở đầu, kết luận danh mục 10 tài liệu tham khảo Chương 1, giới thiệu số kiến thức sở số học thuật toán Trong nhiều đường khác để vào số học, ta chọn đường thuật toán: định lý, khái niệm số học trình bày với thuật toán xây dựng chúng, thuật toán có kèm theo đánh giá sơ độ phức tạp Nội dung chủ yếu đề cập chương là: Thuật toán, Độ phức tạp thuật toán, Sơ lược Maple Lời cảm ơn Luận văn đợc thực hoàn thành Trờng Đại học Vinh, dới hớng dẫn tận tình PGS TS Nguyễn Thành Quang Nhân dịp này, tác giả xin bày tỏ lòng biết ơn kính trọng sâu sắc tới thầy giáo hớng dẫn PGS TS Nguyễn Thành Quang, ngời đặt phơng hớng nghiên cứu hớng dẫn tác giả hoàn thành luận văn Trong trình học tập viết luận văn, tác giả nhận đợc giúp đỡ dạy bảo tận tình GS TS Nguyễn Quốc Thi, PGS TS Nguyễn Quý Dy, PGS TS Ngô Sỹ Tùng, PGS TS Lê Quốc Hán, TS Mai Văn T, TS Chu Trọng Thanh thầy giáo chuyên ngành Đại số & Lí thuyết số, Khoa Toán Khoa Đào tạo Sau đại học Trờng Đại học Vinh Tác giả xin trân trọng cảm ơn giúp đỡ quý báu Tác giả xin chân thành cảm ơn học viên cao học toán khóa 12 trao đổi bổ ích nhiều chứng minh chi tiết luận văn Tác giả xin chân thành cảm ơn Sở Giáo dục Đào tạo Nghệ An, Phòng Giáo dục huyện Quỳnh Lu Trờng THCS Quỳnh Hồng Quỳnh Lu tận tình giúp đỡ tinh thần vật chất để tác giả hoàn thành luận văn Tác giả xin chân thành cảm ơn học viên cao học Khóa XXII Toán trao đổi bổ ích nhiều chứng minh chi tiết Luận văn không tránh khỏi nhiều thiếu sót, tác giả mong muốn nhận đợc giúp đỡ bảo thầy cô giáo bạn đồng nghiệp Mở đầu Ngày máy tính thâm nhập vào hầu hết lĩnh vực khoa học đời sống Nhiều chơng trình ứng dụng đợc phát triển liên quan tới quản lý dự liệu, in ấn, đồ họa, xử lý ảnh Riêng ngành toán có sản phẩm mang tính phổ dụng nh Mathematica, Matlat, Maple nhiều chơng trình chuyên dụng cho môn toán học Những phần mềm giúp ích nhiều cho việc giảng dạy toán, học toán nh việc ứng dụng toán ngành kỹ thuật, kinh tế nớc phát triển chúng trở thành cẩm nang nhiều sinh viên nhà khoa học Maple cho ta công cụ tốt để triển khai thuật toán có độ phức tạp cao mà mẹo mực thủ công thay đợc Maple có đặc tính u việt có ngôn ngữ câu lệnh giống với ngôn ngữ toán học thông thờng, dễ sử dụng, đòi hỏi cấu hình máy không lớn, đáp ứng nhu cầu tính toán nhiều đối tợng Maple hệ phần mềm chuyên dụng cho công việc tính toán bao gồm tính toán tuý ký hiệu toán học, tính toán số tính toán đồ thị Sản phẩm Trờng Đại học Tổng hợp Waterloo (Canada) Trờng Đại học kỹ thuật Zurich (ETZ) xây dựng đa vào thơng mại năm 1985 Qua nhiều lần cải tiến Maple đợc phổ biến rộng rãi giới Maple tạo cho cách tiếp cận với toán học sinh động sáng tạo Nhằm góp phần đẩy mạnh ứng dụng công nghệ thông tin vào đổi phơng pháp giảng dạy nghiên cứu toán học nhà trờng phổ thông, mục tiêu luận văn bớc đầu tìm hiểu giới thiệu thuật toán số học, sử dụng phần mềm tin học để thực số tính toán cụ thể tính toán hình thức Sau thời gian tìm hiểu sử dụng, định chọn phần mềm tính toán Maple để thực số tính toán phơng diện đại số số học Với lý trên, chọn hớng đề tài luận văn Về số thuật toán số học ứng dụng Cấu trúc luận văn gồm chơng với phần mở đầu, kết luận danh mục 10 tài liệu tham khảo Chơng 1, giới thiệu số kiến thức sở số học thuật toán Trong nhiều đờng khác để vào số học, ta chọn đờng thuật toán: định lý, khái niệm số học đợc trình bày với thuật toán xây dựng chúng, thuật toán có kèm theo đánh giá sơ độ phức tạp Nội dung chủ yếu đề cập chơng là: Thuật toán, Độ phức tạp thuật toán, Sơ lợc Maple Chơng 2, giới thiệu số vấn đề sở số học đại: Số giả nguyên tố, Số Carmichael, Số giả nguyên tố mạnh, Kiểm tra Miller, Mở rộng Galois trờng số đại số Kết chơng đợc: Số k chữ số biểu diễn số nguyên dơng n hệ số g có bậc O-lớn lnn hay k = O(lnn) (xem định lý 1.2.9) Thuật toán tính n! có độ phức tạp O(n2ln2n), (xem định lý 1.2.10) Chơng 3, giới thiệu thực hành tính toán Maple gồm: Thuật toán kiểm tra nguyên tố, Thuật toán kiểm tra số giả nguyên tố, Thuật toán kiểm tra số Carmichael, Thuật toán kiểm tra số giả nguyên tố mạnh, Tính toán đồng d theo Định lý Trung Quốc Chơng luận văn thực số tính toán hình thức: Thiết lập mở rộng đại số trờng số hữu tỉ; Khai báo mở rộng đại số trờng Galois có đặc số nguyên tố; Tính toán trờng Galois Các thuật toán đợc kiểm tra phần mềm Maple Chẳng hạn, chơng luận văn, quan tâm tới Giả thuyết Tích số nguyên tố liên tiếp trừ số nguyên tố Nói khác đi, ký hiệu pk số nguyên tố thứ k (kể từ số trở đi) số An = p1 p2 p3 pn số nguyên tố, với n > Trong tuyển tập 30 năm báo Toán học Tuổi trẻ, Nhà xuất Giáo dục, Hà Nội, 1997 viết rằng: Bằng cách thử ta thấy số A3 , A4 , A5 , A6 , A7 số nguyên tố Tuy nhiên muốn kiểm tra A8 cần phải làm 300 phép chia để kiểm tra A cần tới 1300 phép chia, tức vài buổi làm tính Với Maple, luận văn kiểm định đợc giả thuyết nhờ lệnh ifactor (phân tích số thừa số nguyên tố): [> ifactor(3*5*7*11*13*17*19*23 2); (1673196523) [> ifactor(3*5*7*11*13*17*19*23*29 2); (43)(167)(450473) Nh vậy, số A8 = 3.5.7.11.13.17.19 23 số nguyên tố số A9 = 3.5.7.11.13.17.19 23.29 hợp số ta có câu trả lời phủ định cho giả thuyết Trong thời gian tới, với khả tính toán biểu diễn tuyệt vời phần mềm tin học, cộng với công sức tài s phạm ngời thầy (một điều kiện thiếu), hy vọng tạo đổi toàn diện giáo dục toán học phổ thông đại học nớc ta Luận văn mong muốn đợc đóng góp phần vô nhỏ bé công vận động to lớn Luận văn đợc thực hoàn thành Trờng Đại học Vinh, dới hớng dẫn nghiêm túc PGS TS Nguyễn Thành Quang Nhân dịp này, tác giả xin bày tỏ lòng biết ơn sâu sắc kính trọng tới Thầy giáo hớng dẫn PGS.TS Nguyễn Thành Quang Tác giả xin bày tỏ lòng biết ơn tới: GS.TS Nguyễn Quốc Thi, PGS TS Nguyễn Quý Dy, PGS TS Ngô Sỹ Tùng, PGS TS Lê Quốc Hán, TS Mai Văn T, TS Chu Trọng Thanh thầy giáo, cô giáo Tổ Đại số, Khoa Toán, Khoa Đào tạo Sau đại học - Trờng Đại học Vinh, tận tình giúp đỡ tác giả trình học tập viết luận văn Tác giả xin chân thành cảm ơn Sở Giáo dục Đào tạo Nghệ An, Phòng Giáo dục huyện Quỳnh Lu Trờng THCS Quỳnh Hồng Quỳnh Lu tận tình giúp đỡ tinh thần vật chất để tác giả hoàn thành luận văn Tác giả xin chân thành cảm ơn học viên cao học Khóa XXII Toán trao đổi bổ ích nhiều chứng minh chi tiết Luận văn không tránh khỏi nhiều thiếu sót, tác giả mong muốn nhận đợc giúp đỡ bảo thầy cô giáo bạn đồng nghiệp Tác giả Chơng CáC KIếN THứC chuẩn bị 1.1 Thuật toán 1.1.1 Định nghĩa Thuật toán quy tắc để với dự liệu ban đầu cho, tìm đợc lời giải sau khoảng thời gian hữu hạn Ví dụ Cho n số X[1] , X[2] , , X[n] Tìm m, j cho: M = X[ j ] = max X[k], k n j lớn Điều có nghĩa cần tìm cực đại số cho số lớn số đạt cực đại Với mục tiêu tìm số cực đại với số lớn nhất, ta xuất phát từ giá trị X[n] Bớc thứ nhất, ta xem m = X[n] j = n Tiếp theo, ta so sánh X[n] với X[n-1] Trong trờng hợp n -1 = tức n = 1, thuật toán kết thúc Nếu X[n -1] X[n], ta chuyển sang so sánh X[n] với X[n-2] Trong trờng hợp ngợc lại, X[n-1] số cực đại hai số xét, ta phải thay đổi m j: Đặt m = X[n -1], j = n - Với cách làm nh trên, bớc ta nhận đợc số cực đại số xét Bớc so sánh với số đứng trớc, kết thúc thuật toán trờng hợp không số đứng trớc Thuật toán đợc ghi lại nh sau: Thuật toán M tìm cực đại: M1 : [Bớc xuất phát] Đặt j n, k n - 1, m X[n] M2 : [Đã kiểm tra xong ] Nếu k = 0, thuật toán kết thúc M3 : [So sánh ] Nếu X[k] m, chuyển sang M5 M4 : [Thay đổi m ] Đặt j k, m X[k] (Tạm thời m cực đại ) M5 : [Giảm k] Đặt k k-1, quay M2 Dấu dùng để phép toán phép thay chỗ (replacement) Trên ta ghi thuật toán ngôn ngữ thông thờng Trong trờng hợp thuật toán đợc viết ngôn ngữ máy tính ta có chơng trình Trong thuật toán M đầu vào (input) số X[1] , X[2] , , X[n] Trong thuật toán M đầu (ouput) m j Ta thấy thuật toán mô tả thỏa mãn yêu cầu thuật toán nói chung, là: Tính hữu hạn: Thuật toán cần phải kết thúc sau số hữu hạn bớc Khi thuật toán dừng làm việc ta phải thu đợc cho vấn đề đặt Thuật toán M rõ ràng thoả mãn điều kiện này, bớc ta chuyển từ việc xét số sang số đứng trớc nó, số số hữu hạn 2.Tính xác định: bớc, thuật toán cần phải xác định tức rõ việc cần làm Ngoài phải xét đến tính hiệu thuật toán Sẽ không xét thuật toán mà thời gian thực vợt khả làm việc chúng ta; mà quan tâm đến thuật toán sử dụng thật máy tính 1.1.2 Độ phức tạp thuật toán Thời gian làm việc máy tính chạy thuật toán không phụ thuộc vào thuật toán mà phụ thuộc vào máy tính đợc sử dụng Để có chuẩn chung, ta đo độ phức tạp thuật toán số phép tính phải làm thực thuật toán Độ phức tạp thuật toán hàm phụ thuộc vào cỡ toán, tức độ lớn đầu vào Khi làm việc máy tính dùng hệ đếm số 2; để biểu diễn số ta dùng hai kí hiệu kí hiệu bít (viết tắt chữ binary digit) Một số nguyên n đợc biểu diễn bơỉ k chữ số đợc gọi số k - bit Độ phức tạp thuật toán đợc đo số phép tính bit Để ớc lợng cho độ phức tạp thuật toán ta dùng khái niệm bậc O - lớn 1.1.3 Định nghĩa Giả sử f ( n) g ( n) hai hàm xác định tập số nguyên dơng Ta nói f ( n) có bậc O- lớn g ( n) , viết f ( n) = O ( g (n)) f = O ( g ) , tồn số C > cho với n đủ lớn, hàm f ( n) g ( n) dơng, đồng thời f ( n) < Cg (n) 1.1.4 Nhận xét 1) Giả sử f ( n) đa thức: f ( n) = ad n d + ad 1n d + L + a1n + a0 , ad > Khi đó, ta có f ( n) = O (n d ) 2) Nếu f1 ( n) = O ( g (n)), f ( n) = O ( g (n)) f1 + f = O ( g ) 3) Nếu f1 = O ( g1 ), f = O ( g ) f1 f = O ( g1g ) 10 f ( n) f = O ( g ) n g ( n) 4) Nếu tồn giới hạn hữu hạn lim 5) Với số > 0, log n = O (n ) 1.1.5 Định nghĩa Một thuật toán đợc gọi có độ phức tạp đa thức, có thời gian đa thức, số phép tính cần thiết thực thuật toán không vợt O (log d n) , n độ lớn đầu vào d số nguyên dơng Nói cách khác đầu vào số k- bit thời gian thực thuật toán O ( k d ) , tức tơng đơng với đa thức k Các thuật toán với thời gian O ( n ) , > , đợc gọi thuật toán với độ phức tạp mũ, thời gian mũ Nếu có thuật toán có độ phức tạp O ( g ) , nói độ phức tạp O ( h) với hàm h > g Cũng có thuật toán có độ phức tạp trung gian đa thức mũ Chẳng hạn thuật toán nhanh đợc biết đến để phân tích số nguyên n thừa số nguyên tố thuật toán có độ phức tạp: exp( log n log log n ) 39 nguyên tố Tuy nhiên, thuật toán dựa theo định lý Wilson khó sử dụng với số nguyên lớn, số p đủ lớn số ( p 1)! lớn Do đó, số phép tính bit đòi hỏi cao Định lý sau có nhiều ứng dụng toán kiểm tra nguyên tố 2.5.2 Định lý (Fermat bé) Nếu p số nguyên tố a số nguyên không chia hết cho p a p 1(mod p ) Chứng minh Xét hệ ( p 1) số nguyên a, 2a, , ( p 1) a Các số nguyên không chia hết cho p đôi không đồng d với theo modulo p Xét hệ thặng d dơng bé modulo p 1, 2, , p Ta có a.2a ( p 1) a 1.2 ( p 1) ( p 1)! (mod p ), tức a p ( p 1)! ( p 1)! (mod p) Vì (( p 1)!, p ) = , nên giản ớc hai vế đồng d thức, ta có a p 1(mod p ) 2.5.3 Hệ 1)Với số nguyên a với số nguyên tố p , ta có a p a(mod p ) 2) Nếu p số nguyên tố a số nguyên không chia hết cho p a p nghịch đảo a modulo p 3) Nếu p số nguyên tố a, b số nguyên dơng không chia hết cho p phơng trình đồng d bậc ax b(mod p ) có nghiệm x a p b(mod p) 2.5.4 Khái niệm số giả nguyên tố Theo định lý Fermat bé, n số nguyên tố b số nguyên tuỳ ý, n b b(mod n) Do đó, tồn số nguyên b cho b n b(mod n) n phải hợp số Trong nhiều ứng dụng, lại cần đến thuật toán để số số nguyên tố Khi đó, ta dùng định lý Fermat bé, mệnh đề ngợc không Tuy nhiên, số nguyên n > thoả mãn kết luận định lý Fermat bé, nghĩa ta có b n b(mod n) với số nguyên b , có nhiều khả số nguyên tố Từ đó, ta có định nghĩa sau đây: 2.5.5 Định nghĩa Giả sử b số nguyên dơng cho trớc Nếu n hợp số nguyên dơng b n b(mod n) , n đợc gọi số giả nguyên tố sở b Trong trờng hợp (n, b) = , ta thờng dùng định nghĩa tơng đơng sau: b n 1(mod n) Ví dụ Số nguyên 561 số giả nguyên tố sở Thật vậy, ta có 561 = 3.11.17 (3,561) = (11,561) = (17,561) = 1, áp dụng định lý Fermat, có 560 = (2 ) 280 1(mod 3) 560 = (210 ) 56 1(mod 11) 560 = (216 ) 35 1(mod 17) 40 Từ suy ra, 560 1(mod 561) Nói chung số giả nguyên tố nhiều so với số nguyên tố Chẳng hạn, có tất 455052512 số nguyên tố bé 1010, nhng có 14884 số giả nguyên tố sở khoảng Cụ thể hơn, có số nguyên tố bé 12 2,3,5,7,11 nhng số giả nguyên tố sở khoảng Sự kiện giải thích điều nói trên: số thoả mãn định lý Fermat bé có nhiều khả số nguyên tố Tuy nhiên, sở tuỳ ý, số số giả nguyên tố vô hạn Chẳng hạn, ta chứng minh điều với sở 2.5.6 Định lý Có vô số số giả nguyên tố sở Chứng minh Giả sử n số giả nguyên tố sở 2, ta chứng minh m = n số giả nguyên tố sở Theo giả thiết, ta có n hợp số, chẳng hạn n = dt , < d , t < n, n 1(mod n) Ta có ( ) m = n = ( d ) t = ( d 1) ( d ) t + (2 d ) t + + Do đó, m hợp số Do n số giả nguyên tố sở 2, nên có n 2(mod n), hay tồn số tự nhiên k cho n = kn Ta có m = n , hay m = n = kn , m 1(mod m) m = kn Vì vậy, m = n ớc m = kn , tức Vậy m số giả nguyên tố sở 2.5.7 Định nghĩa số Carmichael Hợp số n thoả mãn đồng d thức b n 1(mod n) với số nguyên dơng b cho (n, b) = đợc gọi số Carmichael Ví dụ Số nguyên 561= 3.11.17 số Carmichael Thật vậy, nh (b,561) = ta có (b,3) = (b,11) = (b,17) = 1, áp dụng định lý Fermat bé, có b 560 = (b ) 280 1(mod 3) b 560 = (b10 ) 56 1(mod 11) b 560 = (b16 ) 35 1(mod 17) Từ suy ra, b 560 1(mod 561) Giả thuyết: tồn vô hạn số Carmichael, đợc chứng minh gần R Alford, A Granville, C Pomarance, 1993 Định lý sau cho cách tìm số Carmichael 2.5.8 Định lý Số tự nhiên n số Carmichael n = q1 q q n , q j , ( j = 1,2, , n) , số nguyên tố khác thoả mãn q j ớc n Chứng minh Thật vậy, giả sử b số nguyên dơng cho (b, n) = Khi (b, q j ) = , b q j n 1(mod q j ), ta có 1( mod q j ) Vì q j ớc n nên b b n 1(mod n) Vậy n số Carmichael 41 Phần đảo lại định lý đợc chứng minh công trình: M.O.Rabin, Probabilistic algorithms for testing primality, Journal of Number Theory, Vol.12(1980),128-138 2.5.9 Định lý Giả sử n = q1q2 qk , q j ,( j = 1,2, , k ) , số nguyên tố khác n số Carmichael Khi đó, k Do đó, số 561 số Carmichael nhỏ Chứng minh Giả sử ngợc lại, n = pq, p < q Vì n số Carmichael, theo định lý 2.5.8, có n 0(mod q 1) Mặt khác, ta có đồng d thức sau n = p(q + 1) = p( q 1) + ( p 1) 0(mod q 1) Do q ớc p Điều này, trái với giả thiết p < q Ví dụ Sử dụng định lý 2.5.8 tìm đợc số ví dụ số Carmichael 561 = 3.11.17 ; 1729 = 7.13.19 ; 6601 = 7.23.41 ; 294409 = 37.73.109 Chú ý Khi kiểm tra nguyên tố, gặp khó khăn gặp phải số Carmichael Tuy nhiên ta khắc phục khó khăn này, cách dựa vào nhận xét sau: Cho p số nguyên tố Khi đó, a 1(mod p ) a 1(mod p ) Nếu gặp đồng d b n 1(mod n) Ta chuyển sang xét đồng d: b ( n 1) / x (mod n) Nếu n số nguyên tố x 1(mod n) Ngợc lại, n hợp số Chẳng hạn với 561 có (5611) / 280 67(mod 561) Vậy 561 số nguyên tố 2.5.10 Kiểm tra Miller Giả sử n số nguyên dơng lẻ, n = s t , s số nguyên không âm, t số nguyên dơng lẻ Ta nói n trải qua đợc kiểm tra Miller sở b , j b t 1(mod n) b t 1(mod n) với j đó, j s Nhận xét Nếu n số nguyên tố n trải qua đợc kiểm tra Miller sở b với số b cho n ớc b k Thật vậy, giả sử n = s t Đặt x k = b ( n 1) / = b (s k ) t với k = 0,1,2, Vì n số nguyên tố nên x 1(mod n) Do đó, x1 1(mod n) , tức x1 1(mod n) x1 1(mod n) Tiếp tục trình nh trên, ta đến kết luận rằng, x k 1(mod n) với k = 0,1, , s x k 1(mod n) với số nguyên k Nh vậy, n trải qua đợc kiểm tra Miller sở b Dễ thấy rằng, n trải qua đợc kiểm tra Miller sở b n số giả nguyên tố sở b 2.5.11 Định nghĩa số giả nguyên tố mạnh Số nguyên n đợc gọi số giả nguyên tố mạnh sở b hợp số trải qua đợc kiểm tra Miller sở b Nh vậy, số giả nguyên tố mạnh lại số giả nguyên tố Tuy nhiên, ta có định lý sau 2.5.12 Định lý Tồn vô số số giả nguyên tố mạnh sở Chứng minh Thật vậy, giả sử n số giả nguyên tố sở Khi đó, với số nguyên lẻ k đó, ta có n = nk Đặt N = n 1, có ớc d 1, với d ớc số n Mặt khác, ta có 42 n n N 2 = nk = (2 n ) k 1(mod N ) Vậy với số giả nguyên tố n ta xây dựng đợc số giả nguyên tố mạnh N số n khác cho ta số N khác Bởi có vô số giả nguyên tố sở định N = = 2(2 lý đợc chứng minh 1) = 2nk , Chơng Thực hành tính toán maple 3.1 Thuật toán kiểm tra nguyên tố 3.1.1 Thuật toán kiểm tra theo định lý Wilson Bớc 1: Nhập số nguyên dơng cần kiểm tra [>p: = 2311; q: = 24253; p: = 2311 q: = 24253 Bớc 2: Kiểm tra điều kiện ( p 1)! 1(mod p) lệnh [> evalb ((p-1)! mod p = p 1) ; evalb ((q 1)! modq = q ) ; true false 43 3.1.2 Giả thuyết Tích số nguyên liên tiếp trừ số nguyên tố Nói khác đi, ký hiệu p k số nguyên tố thứ k (kể từ số trở đi) số An = p1 p2 p3 pn số nguyên tố với n >2 Trong tuyển tập 30 năm báo Toán học Tuổi trẻ, Nhà xuất Giáo dục, Hà Nội, 1997 viết rằng: Bằng cách thử ta thấy số A3 , A4 , A5 , A6 , A7 số nguyên tố Tuy nhiên muốn kiểm tra A8 cần phải làm 300 phép chia để kiểm tra A cần tới 1300 phép chia, tức vài buổi làm tính Với Maple, ta dễ dàng kiểm định giả thuyết nhờ nhận biết đợc số A7 = 3.5.7.11.13.17.19 A8 = 3.5.7.11.13.17.19 23 số nguyên tố lệnh ifactor (phân tích số thừa số nguyên tố): [> ifactor(3*5*7*11*13*17*19 2); [> ifactor(3*5*7*11*13*17*19*23 2); (72747673) (1673196523) Ta tiếp tục thử với số A9 = 3.5.7.11.13.17.19 23.29 [> ifactor(3*5*7*11*13*17*19*23*29 2); (43)(167)(450473) Nh vậy, A9 hợp số ta có câu trả lời phủ định cho giả thuyết 3.1.3 Thuật toán kiểm tra số giả nguyên tố Muốn kiểm tra số n có phải số giả nguyên tố sở b hay không, ta cần n số nguyên tố sau kiểm tra điều kiện b n b 0(mod n) có đợc thỏa mãn hay không Thủ tục đợc tiến hành: + Nhập vào hai số nguyên n,b lệnh [> n:=56348327841; b:=2; n:=56348327841 b:= + Kiểm tra xem n có số nguyên tố hay không (nếu n số nguyên tố số giả nguyên tố) [> isprime (n); false + Nếu kết false tiến hành kiểm tra đồng d thức có thỏa mãn hay không [> is (b^n - bmod n=0) ; Nếu nh hàm trả lời giá trị True n số giả nguyên tố sở b [> n:=1373653; b:=3; n:= 1373653 44 b:= [> isprime (1373653); false [> is (3^1373653 mod 1373653 = 0) ; true Kết cho thấy 1373653 số giả nguyên tố sở 3.1.4 Thuật toán kiểm tra số Carmichael Trớc hết ta nhập vào số nguyên dơng n cần kiểm tra [> n:= 6601; n := 6601 Kiểm tra xem số n có phải số nguyên tố không? [> isprime(n); false Nếu n số nguyên tố số Carmichael , ngợc lại ta tiếp tục phân tích số n thừa số nguyên tố [> L:= ifactor (n); L := (7) (23) (41) Nếu có thừa số mang số mũ lớn kết luận n số Carmichael, ngợc lại thừa số n khác ta kiểm tra tiếp Trớc hết ta lập danh sách thừa số nguyên tố q = [q1, q2 ,, qk] lệnh : [> q:= [7,23,41]; q := [7, 23, 41] Sau tiến hành kiểm tra tính chia hết phép chia chia số (n ) cho số (qi -1), i = 1,2,, k Việc t ơng đơng với việc xem thành phần danh sách phần d có hay không, lệnh [> [seq(irem(n-1 , q[i]-1), i=1 nops(q))]; [0, 0, 0] Nếu danh sách có thành phần khác n số Carmichael, ngợc lại cho ta kết số Carmichael Kết cho ta thấy số 6601 số Carmichael 3.1.5 Thuật toán kiểm tra số giả nguyên tố mạnh Bớc 1: Phân tích số n thừa số nguyên tố [> ifactor(n -1); 45 Bớc 2: Từ kết phân tích ta biết n -1 viết d ới dạng n - = st (s số tự nhiên bất kỳ, t số lẻ) Ta kiểm tra điều kiện: [>is(b&^t mod n= 1) ; Nếu điều kiện nghiệm (lệnh cho giá trị true ) n số giả nguyên tố mạnh sở b, ngợc lại ta kiểm tra điều kiện sau : [> is(b&^t-1 mod n = 0) ; Nếu lệnh cho giá trị true n số giả nguyên tố mạnh sở b Nếu kết false ta tiếp tục kiểm tra điều kiện b t + = 0(mod n) j có đợc thoả mãn với j khoảng từ đến s - hay không Nếu có j nh kết luận n số giả nguyên tố mạnh sở b, ngợc lại ta kết luận Có thể thực điều lệnh sau : [>seq (b&^( (2^j)*t)+1 mod n, j= s-1) ; Kết lệnh dãy bao gồm s số tự nhiên, có số dãy kết luận n số giả nguyên tố mạnh sở b, ngợc lại Thí dụ, ta kiểm tra xem số 25326001 có phải mạnh sở [> n:=25326001; b:=2; n := 25326001 b := [> isprime(n); false [> factor(n-1); (2)4 (3)3 (5)3 (7) (67) Ta có : [> s:=4; t:=3^3*5^3*7*67; s := t := 1582875 [> is(b&^t mod n = 1); số nguyên tố 46 false Ta kiểm tra tiếp [> is(b&^t-1 mod n = 0); false [> seq (b&^ ((2^j)*t)+1 mod n, j = s-1); 0, 2, 2, Nh số 25326001 số giả nguyên tố mạnh sở Với b = 3; ta có kết tơng tự Nhng với b = ta có : [> n:=25326001; b:=7; n := 25326001 b := [> s:=4; t:=3^3*5^3*7*67; s := t := 1582875 [> is(b&^t mod n = 1); false [> is(b&^t-1 mod n = 0); false [> seq (b&^ ((2^j)*t)+1 mod n, j= s-1); 19453142, 16857741, 11448588, 10127251 Vậy, Số 25326001 số giả nguyên tố mạnh sở 2,3,5 nhng không số giả nguyên tố mạnh sở 3.1.6 Tính toán đồng d theo định lý Trung Quốc Nh ví dụ, ta áp dụng định lý Trung Quốc để tìm số nguyên x thoả mãn hệ phơng trình sau: x 84(mod150) x 179(mod 271) x 137(mod157) Muốn vậy, ta xác định số: [> b[1]:=(271*157)^(-1)mod 150; b[2]:=(157*150)^(-1)mod 271; b[3]:=(150*271)^(-1)mod 157; b1 : = 133 b2 : = 10 b3 : = 12 47 Rồi theo công thức định lý ta có [>x:=84*271*157*133+179*150*157*10+137*150*271*12 mod (150*271*157); x:= 3551634 Maple hỗ trợ một lệnh mạnh để tính toán đồng d theo định lý Trung Quốc, với cú pháp tổng quát [>chrem(a ,u); Trong a danh sách phần d, u danh sách modulo Thí dụ toán đợc giải chi tiết lệnh [> chrem([84,179,137],[150,271,157]); 3551634 Với lệnh ta giải đợc toán phức tạp (cỡ lớn )hơn nhiều [>chrem([84,179,137,731,971,48],[150,271,157,1117,1123,1151]); 7832326727793834 3.1.7 Tìm ớc chung lớn thuật toán Euclid mở rộng Bớc 1: Gán giá trị cho hai số nguyên [> a:=7623; b:= 736; a b a := 7623 b := 736 Bớc 2: Tìm biểu diễn a = bq + r nhờ câu lệnh sau Tìm phần nguyên thơng phép chia a cho b gán giá trị cho q [> q:=iquo(a,b); q := 10 Tìm phần d a chia cho b gán giá trị cho r [> r:=irem(a,b); r := 263 48 3.2 Tính toán hình thức 3.2.1 Mở rộng đại số trờng hữu tỉ Q Khi K = Ô ( ) mở rộng đại số Ô theo nghiệm alpha ( ) đa thức bất khả quy f(x) có bậc n, ta xem K nh không gian vectơ n chiều Ô với sở là: 1, alpha, apha^2, , alpha^(n 1) (1, , , , n ) Vì vậy, phần tử K nh đa thức có bậc không vợt n Ví dụ Với f(x) = x4 + 1, ta thiết lập trờng K lệnh [>alias(alpha=Rootf(x^4+1); Khi phần tử K nh đa thức theo với bậc nhỏ Giả sử muốn tính toán với phần tử a = + +1, b = 10 + +1, ta cần định nghĩa chúng lệnh: [>a:= alpha^3 + 5*alpha^2 + 1; [>b:= 10alpha^2 + 2*alpha + 5; Sau ta thực tính toán chúng, nh đa thức lấy theo modulo đa thức bất khả quy +1 Chẳng hạn: [>a*b ; ( + +1)(10 + +1) Cần lu ý rằng, trờng mở rộng đại số có lệnh định giá trị đại số (evala) thay cho lệnh định giá trị thông thờng ( eval hay evalf) Ta tìm đợc tích, thơng, tổng a b nhờ lệnh: [>evala(a*b); + 35 - - 47 [>evala(a/b); 509 2195 140 167 + + + 4947 447 4947 1649 [>evala(a + b); + 10 + + 49 Lu ý rằng, phần tử u Q( ) đa thức lệnh evala cho ta biểu diễn u qua sở nói Q( ) Chẳng hạn: [>beta:= alpha^7 +alpha^5+4*alpha^4+2*alpha+1; := + + 4 + + [>evala(beta); + Một số vô tỉ sinh mở rộng đơn đại số trờng số hữu tỉ Q Ví dụ, từ ta sinh trờng Q( ) lệnh: [>K:= 3^(1/5); K:= 35 Ta phân tích đa thức x3 Q( ) nhờ lệnh: [>factors(x^5-3, K); 1, x + x 35 + x + x35 + ,1 , x ,1 Ta phân tích đa thức x6 Q( ) nhờ lệnh: 95 [>factors(x^6-9^(3/5),K); 1, x 35 ,1 , x + x3 + ,1 , x + ,1 , x x + ,1 3.2.2 Mở rộng đại số trờng Galois có đặc số nguyên tố p Với trờng có đặc số nguyên tố p, thủ tục khai báo trờng nh trên, lu ý đa thức lấy hệ số trờng hữu hạn Zp tính toán đợc tính theo modp Khi đó, ta thu đợc trờng Galois GF(pk) có q = p k phần tử, với k bậc đa thức Tính toán trờng tiến hành nh tính toán thông thờng nhng lấy theo modp Với p = khai báo mở rộng đại số Z5 bằng: [>alias (a=RootOf(y^2+2*y-1)mod5); Khi đó, phân thức theo a đa dạng đa thức theo a lệnh: [>Normal((1+a)/(a-1))mod5; 50 4a + Muốn thu đợc kết tờng minh, dùng lệnh evala Normal [>(4+3*a)+( 4+3*a)mod5; 3+a [>(3+4*a)*( 3+4*a)mod5; (3 +4a)(3+4a) [>evala(3+4*a) * ( 1+4*a)mod5; + 2a [>Normal(3+4*a) * ( 1+4*a) mod5 ; + 2a Ta khai báo trờng với lệnh đơn giản bỏ mod5 [>alias(alpha= RootOf(y^2 + 2*y-1)mod5); Song tính toán thiết phải có mod5, chẳng hạn: [>Normal((1+ alpha - alpha^2)/(alpha^2 + 1)mod5; 3.2.3 Tính toán trờng Galois Ví dụ Dựng trờng Galois có 25 phần tử Lời giải Xét đa thức f(x) = x2 + x + Z5[x] Do f(x) vô nghiệm trờng Z5 nên f(x) bất khả quy Z5 Gọi N trờng nghiệm đa thức f(x) Z5 , ta có N = Z5(u, v) u, v nghiệm đa thức f(x) Theo định lý Viet u + v = - 1, nên N = Z5(u) Do f(x) bất khả quy Z5 nên phần tử u phần tử đại số bậc hai Z5 Vì vậy, N mở rộng bậc hai Z5 có sở 1, u hay N = { a + bu / a, b Z5 } Trờng N trờng Galois 25 phần tử GF(52) cần dựng Ta dùng lệnh sau để sinh trờng Galois 25 phần tử GF(5 2) sẵn đa thức bất khả quy bậc hai trờng Z5: + + [>G25:= GF(5,2,alpha^2+alpha+1); G25: = module( ) Lấy phần tử trờng, ký hiệu a, lệnh: [>a:=G25[random]( ); Lấy phần tử sinh trờng, ký hiệu g, lệnh: 51 [>g:=G25[PrimitiveElement]( ); 3.2.4 Tính toán với đa thức Gói công cụ Maple để tính toán đa thức đợc gọi lệnh: [>with (polytools) : Kiểm tra tính bất khả quy đa thức trờng đặc số 0: Để kiểm tra đa thức P bất khả quy trờng mở rộng nhỏ Q sinh hệ số đa thức P, ta dùng câu lệnh sau, đa thức bất khả quy câu trả lời true [> irreduc(P); [>irreduc(x^2+2x+1); true Để kiểm tra đa thức P bất khả quy trờng mở rộng K Q, ta dùng câu lệnh sau: [> irreduc(P, K); Ví dụ: Kiểm tra tính bất khả quy đa thức x + trờng mở rộng K Q sinh nghiệm đa thức x4 + Q[x] Đầu tiên, ta thiết lập trờng K lệnh: [>alias(alpha=Rootof(x4 +1)); Kiểm tra tính khả quy đa thức x2 + trờng mở rộng K lệnh: [>irreducible(x^2+1,alpha); false Phân tích đa thức x2 + trờng mở rộng K thành tích đa thức bất khả quy lệnh: [>factor(x^2+1,alpha); (x + )(x ) Kiểm tra tính bất khả quy phân tích đa thức trờng Zp [>Irreducible(x^5+x^3+4*x+1)mod3; true [>Irreducible(x^5+x^3+4*x+1)mod5; false [>Factor(x^5+x^3+4*x+1)mod5; 52 (x4 + 4x3 + 2x2 +3x+1)(x + 1) Kiểm tra tính bất khả quy phân tích đa thức trờng mở rộng Zp Ví dụ: Kiểm tra tính bất khả quy đa thức trờng mở rộng K Z5 sinh nghiệm đa thức x4 + x - Z5[x] [>alias(alpha=Rootof(x4 +x-1))mod5); [>Irreducible(x^3+3*x^2+x+1,alpha)mod5; true [>Irreducible(x^5+3*x^4+3*x^3+2*x^2+2*x+2,alpha)mod5; false [>Factor(x^5+3*x^4+3*x^3+2*x^2+2*x+2,alpha)mod5; (x + 43 + + + 3)(x + + + + 2)(x + 3x + x + 1) 3.2.5 Tìm số đa thức bất khả quy có bậc n trờng hữu hạn Tìm số đa thức bất khả quy P bậc n trờng Galois Fp với p số nguyên tố lệnh sau: [>mipolys(n,P); Kết luận Nhằm góp phần đẩy mạnh ứng dụng công nghệ thông tin vào đổi phơng pháp giảng dạy nghiên cứu toán học, luận văn bớc đầu tìm hiểu giới thiệu thuật toán số học, sử dụng phần mềm tin học để thực số tính toán cụ thể tính toán hình thức Nội dung chủ yếu đề cập chơng là: Thuật toán, Độ phức tạp thuật toán, Sơ lợc Maple Chơng 2, giới thiệu số vấn đề sở số học đại: Số giả nguyên tố, Số Carmichael, Số giả nguyên tố mạnh, Kiểm tra Miller, Mở rộng Galois trờng số đại số Kết chơng đợc: Số k chữ số biểu diễn số nguyên dơng n hệ số g có bậc O-lớn lnn hay k = O(lnn) (xem định lý 2.1.9) Thuật toán tính n! có độ phức tạp O(n2ln2n), (xem định lý 2.1.10) Chơng 3, giới thiệu thực hành tính toán Maple gồm thuật toán kiểm tra: nguyên tố, số giả nguyên tố, số Carmichael, số giả nguyên tố mạnh; tính toán đồng d theo Định lý Trung Quốc Ngoài ra, luận văn thực số tính toán hình thức: Thiết lập mở rộng đại số trờng 53 số hữu tỉ; Khai báo mở rộng đại số trờng Galois có đặc số nguyên tố; Tính toán trờng Galois Các thuật toán đợc kiểm tra phần mềm Maple Trong luận văn, quan tâm tới Giả thuyết Tích số nguyên tố liên tiếp trừ số nguyên tố Nói khác đi, ký hiệu pk số nguyên tố thứ k (kể từ số trở đi) số An = p1 p2 p3 pn số nguyên tố, với n > Với Maple, luận văn kiểm định đợc giả thuyết nhờ lệnh ifactor (phân tích số thừa số nguyên tố): [> ifactor(3*5*7*11*13*17*19*23*29 2); (43)(167)(450473) Nh vậy, thay cho việc phải làm 1300 phép chia, tức vài buổi làm tính số ta biết đợc A9 = 3.5.7.11.13.17.19 23.29 hợp số có câu trả lời phủ định cho giả thuyết Trong thời gian tới, với khả tính toán biểu diễn tuyệt vời phần mềm tin học, cộng với công sức tài s phạm ngời thầy (một điều kiện thiếu), hy vọng tạo đổi giáo dục nghiên cứu toán học Luận văn mong muốn đợc đóng góp phần vô nhỏ bé công vận động to lớn [...]... chữ số 2.3 Thuật toán Euclid mở rộng Một trong những thuật toán cơ bản và lâu đời nhất của toán học là thuật toán Euclid Thuật toán đó cho phép xác định ớc chung lớn nhất của hai số nguyên cho trớc Vì vành số nguyên là một vành chính và là một vành Euclid nên trong vành số nguyên có khái niệm ớc chung lớn nhất và thuật toán Euclid để tìm ớc chung lớn nhất Dới đây, sẽ nêu lại các kết quả cần thiết về. .. học thông thờng, dễ sử dụng, đòi hỏi cấu hình của máy không lớn, đáp ứng nhu cầu tính toán của nhiều đối tợng Maple là một hệ phần mềm chuyên dụng cho công việc tính toán bao gồm các tính toán thuần tuý bằng ký hiệu toán học, các tính toán số và các tính toán bằng đồ thị Sản phẩm này do Trờng Đại học Tổng hợp Waterloo (Canada) và Trờng Đại học kỹ thuật Zurich (ETZ) xây dựng và đa vào thơng mại đầu tiên... tính toán, việc đầu tiên ta nên làm là gọi nó ra bằng lệnh: [> with (numtheory) ; 18 Chơng 2 Biểu diễn số nguyên và các thuật toán số học 2.1 Độ phức tạp của thuật toán trong việc biểu diễn số nguyên Mặc dù đã quen thuộc với cách biểu diễn số nguyên trong cơ số tuỳ ý, chúng tôi nhắc lại vấn đề đó để thuận tiện cho việc trình bày thuật toán và độ phức tạp của thuật toán trong việc biểu diễn các số nguyên... bóng đèn sáng chỉ số 1, bóng đèn tắt chỉ số 0 Ta dùng bít để chỉ chữ số nhị phân 0 và1 Một ký hiệu 0 hoặc 1 đợc gọi là một bít (viết tắt của chữ binary digit) Một số nguyên biểu diễn bởi k chữ số 1 và 0 đợc gọi là một số k-bit Số tự nhiên n sẽ là một số k-bit với k = [log2n] + 1 20 Chẳng hạn đối với số 1994 trong hệ thập phân, có (1994)10 = (11111001010)2 Trong máy tính, bên cạnh hệ cơ số 2, ngời ta còn... hai số nguyên lần lợt có k, h bit ta cần O(max{k,h}) phép tính bit và các chữ số của tích đó không vợt quá tổng các chữ số của mỗi thừa số cộng một 2.1.10 Thuật toán tính n! có độ phức tạp là O(n2ln2n) Chứng minh Để tính n! ta cần phải thực hiện (n - 2) phép nhân j ! với (j + 1) , với j = 2,3 ,n-1 Ta thấy số chữ số của j ! ít hơn số chữ số của j.j.j j = j i Ta ký hiệu k(j) là số bit (số chữ số trong... nhân hai số nguyên n bít, ta thực hiện việc phép nhân các số có số chữ số nhỏ hơn, cùng với một số phép cộng Thực ra điều này không có gì mới, ngay trong quan niệm ban đầu phép nhân a với b là phép cộng b lần số a Tuy nhiên để có một thuật toán nhân nhanh, ta không thể cộng b lần số a, mà phải tìm đợc một cách tối u nào đó để tách b và a thành những phần nhỏ hơn Thuật toán dới đây, cho ta một cách... 340282366920948463463374607431768211457 (Maple ngầm hiểu ký hiệu % là biểu thức ngay trớc đó) 6) Tìm số nguyên tố ứng trớc hoặc sau ngay một số cho trớc Muốn tìm số nguyên tố ứng trớc một số tự nhiên cho trớc ta dùng lệnh prevprime ( ); Ví dụ: Tìm số nguyên tố ứng trớc ngay số 3335 [prevprime(3335); 3331 Muốn tìm số nguyên tố ứng sau ngay một số tự nhiên cho trớc ta dùng lệnh nextprime ( ); 7) Tìm nghiệm nguyên của phơng... cij nên thuật toán nhân hai ma trận vuông cấp n theo quy tắc thông thờng có độ phức tạp O(n2nm2) = O(n3m2) 24 2.2 thuật toán kiểm tra nguyên tố 2.2.1 Định nghĩa Số nguyên tố là số nguyên lớn hơn 1, không chia hết cho số nguyên dơng nào ngoài 1 và chính nó (không có ớc thực sự) Một số nguyên lớn hơn 1 và không phải là số nguyên tố đợc gọi là hợp số 2.2.2 Định lý ứớc nhỏ nhất khác 1 của một số tự nhiên... xác định một số cho trớc có phải là số nguyên tố hay không, có nhiều ứng dụng trong thực tiễn Đối với những số nhỏ, bài toán đó là đơn giản Tuy nhiên khi làm việc với số lớn (có khoảng 100 chữ số thập phân trở lên) ta cần phải tìm ra một thuật toán hữu hiệu để có thể thực hiện trên máy tính trong khoảng thời gian chấp nhận đợc Định lý sau đây cho một thuật toán đơn giản để xác định các số nguyên tố... 600 cặp số bạn bè Cho đến nay, cha ai tìm đợc một vòng gồm 3 số 2.2.13 Số nguyên tố Mersenne Cũng cần lu ý rằng, các số hoàn chỉnh không chỉ là trò chơi của ngời Hy Lạp cổ đại Nh ta đã thấy, ta có một số hoàn chỉnh chẵn khi có một số nguyên tố dạng 2 m 1 Các số nguyên tố nh vậy đợc gọi là số nguyên tố Mersenne Các số nguyên tố Mersenne có vai trò quan trọng trong lý thuyết và cả trong ứng dụng (chẳng ... Trờng đại học Vinh - Phạm Mạnh Về số thuật toán số học ứng dụng Chuyên ngành: Đại số & Lý thuyết số Mã số: 60 46 05 Luận văn thạc sĩ toán học Ngời hớng dẫn khoa học PGS.TS... thiệu số kiến thức sở số học thuật toán Trong nhiều đường khác để vào số học, ta chọn đường thuật toán: định lý, khái niệm số học trình bày với thuật toán xây dựng chúng, thuật toán có kèm theo đánh... thiệu số kiến thức sở số học thuật toán Trong nhiều đờng khác để vào số học, ta chọn đờng thuật toán: định lý, khái niệm số học đợc trình bày với thuật toán xây dựng chúng, thuật toán có kèm theo