The question is :
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
You may have a try first!
the answer:
For this problem ,you can find some condtion:
1.if it is not even number,then you need not to check even numbers.
2.the factor can start with floor(sqrt(evil_big_number))
3.if it is not a factor then you need not to check prime.
use these candition you can get the result soon.
my soluation:
def isPrime(num):
x = 2
while x < num :
if num %x == 0:
return 0
x = x + 1
return 1
from math import sqrt,floor
def findBiggerPrimeFactor(num):
factor = floor(sqrt(num))
while factor > 1 :
if factor % 2 != 0 and num % factor == 0 and isPrime(factor )== 1:
return factor
a = a -1