largest prime factor in project euler problem is taking too long because the number is too big code example

Example: he prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143 ?

def max_factor(num):
    """Find the maximum prime factor."""
    factor = 2
    while factor * factor <= num:
        while num % factor == 0:
            num /= factor
        factor += 1
    if (num > 1):
        return num
    return factor
    
print max_factor(33) #11
print max_factor(38) #19
print max_factor(600851475143) #6857

Tags:

Misc Example