Skip to main content

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

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

Here's a detailed step by step tutorial on how to find the largest prime factor of a number in Python:

  1. Start by defining a function called largest_prime_factor that takes one parameter, number, representing the number for which we want to find the largest prime factor.

  2. Initialize a variable called largest_factor to 1. This variable will keep track of the largest prime factor found so far.

  3. Create a loop that starts from 2 and goes up to the square root of the given number. This loop will iterate over potential factors of the number.

  4. Inside the loop, check if the current number is a factor of the given number by using the modulo operator (%). If the remainder is 0, then the current number is a factor.

  5. After confirming that the current number is a factor, check if it is prime. To do this, create another loop that starts from 2 and goes up to the square root of the current number. If the current number is divisible by any of the numbers in this loop, it is not prime. In that case, break out of the loop.

  6. If the current number is prime, update the largest_factor variable to the current number.

  7. Finally, outside the loops, return the value of largest_factor.

Here's an example implementation of the largest_prime_factor function:

import math

def largest_prime_factor(number):
largest_factor = 1

for i in range(2, int(math.sqrt(number)) + 1):
if number % i == 0:
is_prime = True
for j in range(2, int(math.sqrt(i)) + 1):
if i % j == 0:
is_prime = False
break
if is_prime:
largest_factor = i

return largest_factor

You can test this function by calling it with different numbers. For example:

print(largest_prime_factor(24))  # Output: 3
print(largest_prime_factor(13195)) # Output: 29
print(largest_prime_factor(600851475143)) # Output: 6857

That's it! This implementation will find the largest prime factor of the given number.