Python Program to Find Largest Prime Factor of a Number (original) (raw)

Last Updated : 30 Oct, 2025

Given a positive integer n (1 ≤ n ≤ 1015), the task is to find its largest prime factor the biggest prime number that divides n exactly. **For Example:

**Input: n = 6
**Output: 3
**Explanation: prime factors of 6 are 2 and 3, and the largest among them is 3.

Let's explore different methods to find largest prime factor of a number in Python.

Using factorint()

sympy provides the function factorint() which directly returns all prime factors of a number and their powers, and using max() we can extract the largest number.

Python `

from sympy import factorint n = 15 factors = factorint(n)
print(max(factors))

`

**Output

5

Using primefactors()

Another sympy method is primefactors(), it directly gives a sorted list of all prime factors of a number.

Python `

from sympy import primefactors n = 18 print(max(primefactors(n)))

`

**Output

3

Using math Module

This method divides the number continuously by small divisors starting from 2 until only the largest prime factor remains.

Python `

import math n = 34 max_prime = -1

while n % 2 == 0: max_prime = 2 n //= 2

for i in range(3, int(math.sqrt(n)) + 1, 2): while n % i == 0: max_prime = i n //= i

if n > 2: max_prime = n print(max_prime)

`

**Explanation:

Using Iterative Division

This method does not use any external modules. It uses a loop that keeps dividing the number by its smallest divisor until all smaller factors are removed.

Python `

n = 45 i = 2 res = -1

while i * i <= n: while n % i == 0: res = i n //= i i += 1

if n > 1: res = n

print(res)

`

**Explanation: