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
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}