Skip to main content

sieve_of_eratosthenes

Function sieve_of_eratosthenes 

Source
pub fn sieve_of_eratosthenes(n: usize) -> Vec<usize>
Expand description

Eratosfen g’alviri — n gacha bo’lgan barcha tub sonlar.

G’oya: 2 dan boshlab, har bir tub sonning karralilarini “o’chirib” chiqamiz. O’chirish p*p dan boshlanadi, chunki undan kichiklari allaqachon o’chirilgan.

  • Time: O(n log log n) — deyarli chiziqli!
  • Space: O(n) bit.

§Misol

use rust_algorithms::numbers::sieve_of_eratosthenes;

assert_eq!(sieve_of_eratosthenes(30), vec![2, 3, 5, 7, 11, 13, 17, 19, 23, 29]);
assert_eq!(sieve_of_eratosthenes(1).len(), 0);