How to find the largest prime factor of a number in Rust

1 Answer

0 votes
fn largest_prime_factor(mut n: i64) -> i64 {
    let mut div = 2;
    let mut max_p_fact = -1;

    while n != 0 {
        if n % div != 0 {
            div += 1;
        } else {
            max_p_fact = n;
            n /= div; // Integer division
            if n == 1 {
                break;
            }
        }
    }

    max_p_fact
}

fn main() {
    println!("{}", largest_prime_factor(124));  // 2 x 2 x 31
    println!("{}", largest_prime_factor(288));  // 2 x 2 x 2 x 2 x 2 x 3 x 3
    println!("{}", largest_prime_factor(1288)); // 2 x 2 x 2 x 7 x 23
    println!("{}", largest_prime_factor(100000000)); // 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5
}



/*
run:

31
3
23
5

*/

 



answered Apr 16, 2025 by avibootz

Related questions

...