Skip to main content

discrete_logarithm

Function discrete_logarithm 

Source
pub fn discrete_logarithm(a: u64, b: u64, n: u64) -> Option<u64>
Expand description

a^x ≡ b (mod n)

Examples found in repository?
crates/library_checker/src/number_theory/discrete_logarithm_mod.rs (line 9)
5pub fn discrete_logarithm_mod(reader: impl Read, writer: impl Write) {
6    prepare_io!(reader, writer);
7    sc!(t, query: [(u64, u64, u64); iter t]);
8    for (x, y, m) in query {
9        let ans = discrete_logarithm(x, y, m).map(|k| k as i64).unwrap_or(-1);
10        pp!(ans);
11    }
12}