pub fn is_prime(n: u64) -> boolExpand 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));