def largest_prime_factor_even_optimized(number):
    """
    We know that, excluding 2, there are no even prime numbers.
    So we can increase factor by 2 per iteration after having found the 
    """
    factors = []
    factor = 2
    if number % factor == 0:
        number = number // factor
        factors.append(factor)
        while number % factor == 0:
            number = number // factor

    factor = 3
    while number > 1:
        if number % factor == 0:
            factors.append(factor)
            number = number // factor  # Remainder guarenteed to be zero
            while number % factor == 0:
                number = number // factor  # Remainder guarenteed to be zero
        factor += 2
    return factors