Files

22 lines
477 B
Python

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