project euler之最大的素因子

import math


def isPrime(n):
    if n == 0 or n == 1:
        return False
    for i in range(2, int(math.sqrt(n))):
        if n % i == 0:
            return False
    return True


def maxPrime(num):
    for i in range(int(math.sqrt(num)), 2, -1):
        if isPrime(i) and num % i == 0:
            return i


def main():
    num = 600851475143
    print(maxPrime(num))


if __name__ == "__main__":
    main()

  

原文地址:https://www.cnblogs.com/chif/p/9275419.html