Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 39 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
39
Dung lượng
517,64 KB
Nội dung
13/10/2020 Thuật tốn kiểm tra số ngun tố THUẬT TỐN TÍNH TỔNG CÁC CHỮ SỐ CỦA MỘT SỐ NGUYÊN THUẬT TỐN EUCLIDE TÍNH UCLN THUẬT TỐN TÍNH TỔNG CÁC ƯỚC SỐ CỦA MỘT SỐ NGUN CÁC THUẬT TỐN VỀ VỊNG LẶP THUẬT TỐN TÍNH CƠNG THỨC CHUỖI CÁC BÀI TẬP VỀ MẢNG CHIỀU VÀ CHIỀU BÀI TẬP Tìm phần tử nhỏ nhất, lớn mảng (cần vị trí phần tử) HƯỚNG DẪN BÀI TẬP Tìm phần tử thoả mãn tính chất HƯỚNG DẪN BÀI TẬP Nhập in mảng chiều dạng ma trận (m dòng, n cột) HƯỚNG DẪN CÁC BÀI TẬP VỀ XÂU KÍ TỰ BÀI TẬP Nhập vào xâu x khác rỗng thơng báo xâu có phải xâu đối xứng hay không HƯỚNG DẪN BÀI TẬP Nhập vào xâu s đếm xem có từ Từ dãy kí tự, cách dấu cách HƯỚNG DẪN BÀI TẬP Nhập vào xâu s in từ (Từ dãy kí tự, cách dấu cách) Xâu có từ đối xứng HƯỚNG DẪN Hướng dẫn ơn tập Lập trình Pascal CÁC THUẬT TOÁN VỀ SỐ THUẬT TOÁN KIỂM TRA SỐ NGUYÊN TỐ Thuật toán ta dựa ý tưởng: n >1 không chia hết cho số nguyên tất số từ đến n số ngun tố Do ta kiểm tra tất số nguyên từ đến có round(sqrt(n)), n khơng chia hết cho số n số ngun tố Nếu thấy biểu thức round(sqrt(n)) khó viết ta kiểm tra từ đến n div Hàm kiểm tra nguyên tố nhận vào số nguyên n trả lại kết true (đúng) n nguyên tố trả lại false n không số nguyên tố function ngto(n:integer):boolean; var i:integer; begin ngto:=false; if n ln} https://hocday.com/thut-ton-kim-tra-s-nguyn-t.html 1/39 13/10/2020 Thuật toán kiểm tra số nguyên tố ngto:=true; end; Chú ý: Dựa hàm kiểm tra nguyên tố, ta tìm số ngun tố từ đến n cách cho i chạy từ đến n gọi hàm kiểm tra nguyên tố với giá trị i THUẬT TỐN TÍNH TỔNG CÁC CHỮ SỐ CỦA MỘT SỐ NGUYÊN Ý tưởng ta chia số cho 10 lấy dư (mod) chữ số hàng đơn vị, lấy số div 10 phần cịn lại Do chia liên tục khơng chia (số 0), lần chia chữ số ta cộng dồn chữ số vào tổng Hàm tính tổng chữ số nhận vào số nguyên n trả lại kết tổng chữ số nó: function tongcs(n:integer): integer; var s : integer; begin s := 0; while n begin s := s + n mod 10; n := n div 10; end; tongcs := s; end; Chú ý: Tính tích chữ số tương tự, cần ý ban đầu gán s thực phép nhân s với n mod 10 THUẬT TỐN EUCLIDE TÍNH UCLN Ý tưởng thuật toán Euclide UCLN số a,b UCLN số b a mod b, ta đổi a https://hocday.com/thut-ton-kim-tra-s-nguyn-t.html 2/39 13/10/2020 Thuật toán kiểm tra số nguyên tố b, b a mod b b Khi UCLN a Hàm UCLN nhận vào số nguyên a,b trả lại kết UCLN số function UCLN(a,b: integer): integer; var r : integer; begin while b0 begin r := a mod b; a := b; b := r; end; UCLN := a; end; Chú ý: Dựa thuật tốn tính UCLN ta kiểm tra số ngun tố hay khơng Ngồi dùng để tối giản phân số cách chia tử mẫu cho UCLN THUẬT TỐN TÍNH TỔNG CÁC ƯỚC SỐ CỦA MỘT SỐ NGUYÊN Để tính tổng ước số số n, ta cho i chạy từ đến n div 2, n chia hết cho số ta cộng số vào tổng (Chú ý cách tính chưa xét n ước số n) function tongus(n : integer): integer; var i,s : integer; begin s := 0; for i := to n div https://hocday.com/thut-ton-kim-tra-s-nguyn-t.html 3/39 13/10/2020 Thuật toán kiểm tra số nguyên tố if n mod i = then s := s + i; tongus := s; end; Chú ý: Dựa thuật tốn tính tổng ước số, ta kiểm tra số ngun có số hồn thiện khơng: số ngun gọi số hồn thiện tổng ước số CÁC THUẬT TỐN VỀ VỊNG LẶP THUẬT TỐN TÍNH GIAI THỪA MỘT SỐ NGUN Giai thừa n! tích số từ đến n Vậy hàm giai thừa viết sau: function giaithua(n : integer) : longint; var i : integer; s : longint; begin s := 1; for i := to n s := s * i; giaithua := s; end; THUẬT TỐN TÍNH HÀM MŨ Trong Pascal ta tính ab công thức exp(b*ln(a)) Tuy nhiên a số dương khơng thể áp dụng Ta tính hàm mũ an cơng thức lặp sau: function hammu(a : real; n : integer): real; var s : real; i : integer; begin s := 1; for i := to n s := s * a; https://hocday.com/thut-ton-kim-tra-s-nguyn-t.html 4/39 13/10/2020 Thuật toán kiểm tra số nguyên tố hammu := s; end; THUẬT TOÁN TÍNH CƠNG THỨC CHUỖI Thuật tốn tính hàm ex: Đặt: , ta cơng thức truy hồi: Khi đó, ta tính cơng thức chuỗi sau: function expn(x: real; n : integer): real; var s,r : real; i : integer; begin s := 1; r := 1; for i := to n begin r := r * x / i; s := s + r; end; expn := s; end; CÁC BÀI TẬP VỀ MẢNG CHIỀU VÀ CHIỀU https://hocday.com/thut-ton-kim-tra-s-nguyn-t.html 5/39 13/10/2020 Thuật toán kiểm tra số nguyên tố BÀI TẬP Nhập vào số n (5