Chủ đề
- #Tối ưu hóa
- #Xác định số nguyên tố
- #Đánh giá lười biếng (Lazy Evaluation)
- #Java
- #Stream
Đã viết: 2024-07-23
Đã viết: 2024-07-23 19:39
Thông thường, để kiểm tra xem n có phải là số nguyên tố hay không, người ta sẽ chia n cho các số từ 2 đến n - 1 và kiểm tra xem n có chia hết cho số nào trong khoảng đó hay không.
Trong phương pháp này, hãy áp dụng một vài tối ưu hóa để cải thiện hiệu quả hơn nữa và sử dụng Stream để áp dụng đánh giá lười biếng (lazy evaluation).
Dưới đây là một phương pháp đơn giản để kiểm tra xem n có phải là số nguyên tố hay không.
Stream trong Java khác với List ở chỗ các phép toán không được thực hiện ngay lập tức khi được định nghĩa.
Thay vào đó, chúng ở trạng thái chờ, chỉ định cách tính toán cho từng phần tử, và chỉ thực hiện phép tính khi cần thiết để lấy ra một phần tử cụ thể.
Sử dụng tính năng này, ta có thể tạo ra một Stream tìm các số nguyên tố như sau:
Toàn bộ mã nguồn
Kết quả thực thi
Bình luận0