Mọi người cho mình hỏi, tại sao ở dòng số 8 lại cần n % (i + 2) == 0 vậy ạ?
Tối ưu hóa vòng lặp:
-Thay vì kiểm tra tất cả các số lẻ từ 5 đến căn bậc hai của n, ta chỉ cần kiểm tra các số có dạng 6k + 1 và 6k + 5 (với k là số nguyên không âm).
-Bất kỳ số nguyên tố nào lớn hơn 3 đều có dạng 6k ± 1. Điều này có thể chứng minh bằng cách xét các số chia cho 6 dư 0, 1, 2, 3, 4, 5.
-Bằng cách này, ta loại bỏ được một số lượng lớn các số không cần thiết phải kiểm tra, giúp tăng hiệu suất của thuật toán.
=>Việc sử dụng n % (i + 2) trong đoạn mã này là một kỹ thuật tối ưu hóa để kiểm tra tính nguyên tố của một số. Bằng cách chỉ kiểm tra các số có dạng 6k ± 1, thuật toán giảm được số lượng phép chia cần thực hiện, từ đó tăng tốc độ kiểm tra.
`\color{rainbow}{\text{PG}}`
Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!
Lớp 10 - Năm đầu tiên ở cấp trung học phổ thông, chúng ta sẽ có nhiều bạn bè mới đến từ những nơi khác nhau. Ngôi trường mới, xa nhà hơn, mở ra một thế giới mới với nhiều điều thú vị. Hãy mở lòng đón nhận và tận hưởng những trải nghiệm mới!
Copyright © 2021 HOCTAPSGK