Тема
- #Java
- #Ленивая оценка
- #Определение простых чисел
- #Stream
- #Оптимизация
Создано: 2024-07-23
Создано: 2024-07-23 19:39
Обычно для проверки того, является ли n простым числом, его делят на числа от 2 до n - 1 и проверяют, делится ли оно нацело.
Давайте попробуем оптимизировать этот метод, чтобы сделать его более эффективным, и применим ленивую оценку (lazy evaluation) с помощью Stream.
Ниже представлен наивный метод проверки того, является ли n простым числом.
Stream в Java, в отличие от List, не выполняет операции сразу после их определения.
Он находится в состоянии ожидания, зная, как вычислять каждый элемент, и выполняет вычисления только тогда, когда нужен конкретный элемент.
Используя это свойство, мы можем создать Stream, который генерирует простые числа.
Полный код
Результат выполнения
Комментарии0