2.16. Generowanie liczb pierwszych
Problem
Chcemy generować kolejne liczby pierwsze bądź uzyskać listę wszystkich liczb pierwszych nieprzekraczających ustalonego limitu.
Rozwiązanie
Generator liczb pierwszych ma w języku Ruby postać klasy Prime
. Kolejną liczbę pierwszą w sekwencji możemy uzyskać, wywołując metodę Prime#succ
.
require 'mathn' primes = Prime.new primes.succ # => 2 primes.succ # => 3 #--- primes.each { |x| puts x; break if x > 15; } # 5 # 7 # 11 # 13 # 17 primes.succ # => 19
Dyskusja
Liczby pierwsze są zarówno obiektem intensywnych badań teoretycznych, jak i podstawą większości algorytmów szyfrowania, nic więc dziwnego, że zaproponowano wiele algorytmów ich generowania oraz sprawdzania, czy dana liczba jest liczbą ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.