How to find the largest prime factor of a number in Python

1 Answer

0 votes
def largest_prime_factor(n):
    div = 2
    max_p_fact = -1

    while n != 0:
        if n % div != 0:
            div += 1
        else:
            max_p_fact = n
            n //= div  # Integer division
            if n == 1:
                break

    return max_p_fact


print(largest_prime_factor(124))  # 2 x 2 x 31
print(largest_prime_factor(288))  # 2 x 2 x 2 x 2 x 2 x 3 x 3
print(largest_prime_factor(1288)) # 2 x 2 x 2 x 7 x 23
print(largest_prime_factor(100000000)) # 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5


     
'''
run:
     
31
3
23
5
 
'''

 



answered Apr 16 by avibootz
...