Skip to main content

factorize

Function factorize 

Source
pub fn factorize(x: u64, factor: &mut Vec<u64>) -> Result<(), ()>
Expand description

Factorize integer and writes prime factors to factor in any order.

This function is probabilistic and may fail.

§Time complexity

O(x^0.25) expected

§Example

use lib_modulo::factorize::*;

let mut factor = Vec::new();
// panics if factorization fails
assert!(factorize(998_244_353 * 1_000_000_007, &mut factor).is_ok());

factor.sort_unstable();
assert_eq!(factor, vec![998_244_353, 1_000_000_007])