Skip to main content

is_prime

Function is_prime 

Source
pub fn is_prime(n: u64) -> bool
Expand description

n tub sonmi? — 6k±1 optimallashtirishli sinov bo’linishi.

G’oya: agar n ning √n dan katta bo’luvchisi bo’lsa, unga juft bo’lgan kichik bo’luvchi ham bo’ladi. Demak √n gacha tekshirish yetarli. Bundan tashqari, 3 dan katta har qanday tub son 6k−1 yoki 6k+1 ko’rinishda — shu sababli tekshiriladigan sonlar 3 barobar kam.

  • Time: O(√n), Space: O(1).

§Misol

use rust_algorithms::numbers::is_prime;

assert!(is_prime(97));
assert!(!is_prime(1));
assert!(!is_prime(91)); // 7 * 13
assert!(is_prime(1_000_000_007));