Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
3,86 MB
Nội dung
SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT CHUYÊN LAM SƠN SÁNG KIẾN KINH NGHIỆM MỘT SỐ KINH NGHIỆM GIẢNG DẠY VỀ TÍNH TỐN ĐỒNG DƯ CHO HỌC SINH GIỎI QUỐC GIA MÔN TIN HỌC Người thực hiện: Phạm Thị Nga Chức vụ: Giáo viên SKKN thuộc lĩnh vực (mơn): Tin học THANH HỐ NĂM 2019 Mục lục Mục lục Mở đầu 1.1 Lí chọn đề tài 1.2 Mục đích nghiên cứu .4 1.3 Đối tượng nghiên cứu 1.4 Phương pháp nghiên cứu .4 1.5 Những điểm SKKN Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lí luận sáng kiến kinh nghiệm .5 2.1.1 Định nghĩa tính chất hàm nhân tính 2.1.2 Phương pháp để tính hàm nhân tính 2.1.3 Tính tốn đồng dư .7 2.1.4 Các định lí dùng tính tốn đồng dư hệ const int maxp=1000000; int p[maxp+1]; int phi[maxp+1]; .9 void calculate_phi(){ phi[1]=1; for(int i=2; i4=>F(a, n, m1)=0 n=32 a⇈n>=20 n>1 Nếu n>2 a⇈n>=20 3⇈3>=20 11 Nếu khơng n=2 tính a^a thuật toán luỹ thừa nhanh - Sau tính F(a, n, m1) F(a, n, m2) sử dụng định lí đồng dư Trung Quốc tính F(a, n, m) Có thể sử dụng cách tính nêu áp dụng thẳng công thức tổng quát Đánh giá độ phức tạp Với hàm F(a, n, m) gọi, tính O(log(a)) vì: Tối đa lần tính luỹ thừa nhanh m1 m2 tính log(a) phân tích thừa số ngun tố giá trị O(log(a)) chuẩn bị sẵn mảng số nguyên tố bé ước sàng ngun tố tính hàm phi Euler Thoạt nhìn, độ phức tạp thuật tốn O(n*log(a)) cho test hàm F(a, n, m) bị gọi tới n lần, nhiên độ phức tạp thực tế O(min(n, log(m))*log(a)) vì: Hàm F(a, n, m) gọi hàm F(a, n-1, ϕ(m2)) mà m23 nên từ lần đệ quy thứ 2, m2 chẵn m2