Problem
https://projecteuler.net/problem=3
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143?
Answer: 6857
Solution
pub fn largest_prime_factor(number: u64) -> u64
{
let mut answer = 1;
let mut point = 3;
let mut divisor = number;
while divisor % 2 == 0 {
answer = 2;
divisor = divisor/2;
}
while divisor != 1 {
while divisor % point == 0 {
answer = point;
divisor = divisor/point;
}
point += 2;
}
return answer;
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn euler_003() {
assert_eq!(largest_prime_factor(600_851_475_143), 6857);
}
}