Project Euler - Problem 3

The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143 ?

思路:

1、偶数的唯一素因子为2

2、任何数可以分解为有限个素数的乘积

可以参见因子分解算法,不断模不断求因子。

def LargestPrimeFactor(number):
    if not number % 2:
        return 2
    factor = 3
    while number > 1:
        if not number % factor:
            number /= factor
        else:
            factor += 2
    return factor
关于奇数部分,每次递增2,会不会算出如9、15、21等合数因子?不会,在循环自模它们的素因子时候,它们已经被处理了。

你可能感兴趣的:(Project,Euler)