def largest_prime_factor(n: int): """Return the largest prime factor of n. Assume n > 1 and is not a prime. >>> largest_prime_factor(13195) 29 >>> largest_prime_factor(2048) 2 """ largest = 2 while n % 2 == 0: n //= 2 factor = 3 while factor * factor <= n: while n % factor == 0: largest = factor n //= factor factor += 2 if n > 1: largest = n return largest