rust_algorithms/numbers/mod.rs
1//! # Sonlar bilan ishlash algoritmlari
2//!
3//! Darslik: `02-numbers/`
4//!
5//! Bu modul "matematik" algoritmlarni yig'adi: EKUB/EKUK, tub sonlar,
6//! modul arifmetikasi, Fibonachchi va bit sehrlari.
7//!
8//! | Vazifa | Sodda yechim | Bu yerdagi yechim |
9//! |---|---|---|
10//! | EKUB | O(min(a,b)) | [`gcd`] — O(log min(a,b)) |
11//! | `x` tubmi? | O(x) | [`is_prime`] — O(√x) |
12//! | 1..n tub sonlar | O(n√n) | [`sieve_of_eratosthenes`] — O(n log log n) |
13//! | aⁿ | O(n) | [`fast_pow`] — O(log n) |
14//! | n-Fibonachchi | O(2ⁿ) rekursiya | [`fibonacci`] — O(n) / [`fibonacci_fast`] — O(log n) |
15
16mod arithmetic;
17mod bits;
18mod primes;
19
20pub use arithmetic::{
21 digit_sum, digits, extended_gcd, factorial, fast_pow, fibonacci, fibonacci_fast, gcd, lcm,
22 mod_inverse, mod_pow, reverse_number, to_base,
23};
24pub use bits::{count_ones, is_power_of_two, lowest_set_bit, subsets_of_mask, swap_xor};
25pub use primes::{is_prime, prime_factors, sieve_of_eratosthenes, smallest_prime_factors};