@@ -0,0 +1,1331 @@
+%22%22%22%0AProject Euler Problem 3%0A=======================%0A%0AThe prime factors of 13195 are 5, 7, 13 and 29.%0A%0AWhat is the largest prime factor of the number 600851475143?%0A%22%22%22%0Adef highest_prime_factor(number):%0A    %22%22%22%0A    Takes a number and returns it's highest prime factor.%0A    %22%22%22%0A    prime_factor = 1%0A%0A    for i in range(2, int(number ** 0.5) + 1):%0A        if number %25 i == 0 and is_prime(i):%0A            prime_factor = i%0A%0A    return prime_factor%0A%0Adef is_prime(number):%0A    %22%22%22%0A    Takes a number and returns True if it's a prime number, otherwise returns False.%0A    %22%22%22%0A    if number == 2 or number == 3:%0A        return True%0A%0A    if number %3C= 0 or number %25 2 == 0 or number %25 3 == 0:%0A        return False%0A%0A    for i in range(2, int(number ** 0.5) + 1):%0A        if number %25 i == 0:%0A            return False%0A%0A    return True%0A%0Adef test_highest_prime_factor():%0A    assert highest_prime_factor(13195) == 29%0A%0Adef test_is_prime_returns_true_for_primes():%0A    for prime in %5B2, 3, 5, 7, 11, 13, 29%5D:%0A        assert is_prime(prime)%0A%0Adef test_is_prime_returns_false_for_not_prime():%0A    for not_prime in %5B4, 9, 15%5D:%0A        assert not is_prime(not_prime)%0A%0Adef test_is_prime_returns_false_for_negative():%0A    assert not is_prime(-5)%0A%0Adef test_is_prime_returns_false_for_zero():%0A    assert not is_prime(0)%0A%0Aprint(highest_prime_factor(600851475143))

Add solution and unit tests for problem 3