Function prime_factors_flatten

Source
pub fn prime_factors_flatten(n: u64) -> Vec<u64>
Examples found in repository?
crates/competitive/src/math/prime_factors.rs (line 69)
67pub fn prime_factors(n: u64) -> Vec<(u64, u32)> {
68    let mut res = Vec::new();
69    for a in prime_factors_flatten(n) {
70        if let Some((p, len)) = res.last_mut() {
71            if p == &a {
72                *len += 1;
73                continue;
74            }
75        }
76        res.push((a, 1));
77    }
78    res
79}
More examples
Hide additional examples
crates/library_checker/src/math/factorize.rs (line 11)
6pub fn factorize(reader: impl Read, mut writer: impl Write) {
7    let s = read_all_unchecked(reader);
8    let mut scanner = Scanner::new(&s);
9    scan!(scanner, q);
10    for a in scanner.iter::<u64>().take(q) {
11        let x = prime_factors_flatten(a);
12        write!(writer, "{}", x.len()).ok();
13        for x in x.into_iter() {
14            write!(writer, " {}", x).ok();
15        }
16        writeln!(writer).ok();
17    }
18}