Stuck on Project Euler #3 in python

前端 未结 9 2170
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-20 09:25

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

Ok, so i am working on projec

9条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-20 09:55

    '''
    The prime factors of 13195 are 5, 7, 13 and 29.
    
    What is the largest prime factor of the number 600851475143 ?
    '''
    import math
    
    def isPrime(x):
        if x<2:
            return False
        for i in range(2,int(math.sqrt(x))):
            if not x%i:
               return False
        return True
    
    def largest_factor(number):
        for i in range (2, int(math.sqrt(number))):
            if number%i == 0:
                number = number/i
                if isPrime(number) is True:
                    max_val = number
                    break
                    print max_val
            else:
                i += 1
        return max_val
    
    largest_factor(600851475143)
    

    This actually compiles very fast. It checks for the number formed for being the prime number or not. Thanks

提交回复
热议问题