Temat
- #Optymalizacja
- #Java
- #Strumienie
- #Rozpoznawanie liczb pierwszych
- #Leniwa ewaluacja
Utworzono: 2024-07-23
Utworzono: 2024-07-23 19:39
Często, aby sprawdzić, czy liczba n jest liczbą pierwszą, dzielimy ją przez liczby od 2 do n - 1 i sprawdzamy, czy jest podzielna.
W tej metodzie zastosujemy kilka optymalizacji, aby ją ulepszyć i zwiększyć wydajność, a także wykorzystamy strumienie (Stream) do implementacji leniwego ewaluacji.
Poniżej przedstawiono naiwną metodę sprawdzania, czy liczba n jest pierwsza.
Strumienie (Stream) w Javie, w przeciwieństwie do List, nie wykonują operacji natychmiast po ich zdefiniowaniu.
Zamiast tego, pozostają w stanie gotowości, definiując sposób obliczenia każdego elementu, a obliczenia są wykonywane dopiero wtedy, gdy potrzebny jest dany element.
Wykorzystując tę cechę, możemy stworzyć strumień generujący liczby pierwsze w następujący sposób.
Pełny kod
Wynik działania
Komentarze0