rustleaf 0.1.0

A simple programming language interpreter written in Rust
Documentation
// <p>The prime factors of $13195$ are $5, 7, 13$ and $29$.</p>
// <p>What is the largest prime factor of the number $600851475143$?</p>

fn largest_prime_factor(n) {
    var num = n;
    var largest = 1;
    
    // Handle factor 2
    while num % 2 == 0 {
        largest = 2;
        num = num / 2;
    }
    
    // Handle odd factors from 3 onwards
    var factor = 3;
    while factor * factor <= num {
        while num % factor == 0 {
            largest = factor;
            num = num / factor;
        }
        factor += 2;
    }
    
    // If num is still greater than 1, then it's a prime
    if num > 1 {
        largest = num;
    }
    
    largest
}

// Test with the example
var test_result = largest_prime_factor(13195);
assert(test_result == 29);

// Solve the actual problem
var result = largest_prime_factor(600851475143);
print("The largest prime factor of 600851475143 is: ${result}");
assert(result == 6857);