Stuck on Project Euler #3 in python

前端 未结 9 2136
佛祖请我去吃肉
佛祖请我去吃肉 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:47

    Here is my python code

    a=2
    list1=[]
    while a<=13195:                     #replace 13195 with your input number
        if 13195 %a ==0:                #replace 13195 with your input number
            x , count = 2, 0
            while x <=a:
                if a%x ==0:
                    count+=1
                x+=1
            if count <2:
                list1.append(a)
        a+=1
    
    print (max(list1))
    
    0 讨论(0)
  • 2020-12-20 09:49

    Here is my Python code:

    num=600851475143
    i=2 # Smallest prime factor
    for k in range(0,num):
        if i >= num: # Prime factor of the number should not be greater than the number
            break
        elif num % i == 0: # Check if the number is evenly divisible by i
            num = num / i
        else:
            i= i + 1
    print ("biggest prime number is: "+str(num))   
    
    0 讨论(0)
  • 2020-12-20 09:51

    Here is my python code:

    import math
    ma = 600851475143
    mn = 2
    s = []
    while mn < math.sqrt(ma):
        rez = ma / mn
        mn += 1
        if ma % mn == 0:
            s.append(mn)
    print(max(s))
    
    0 讨论(0)
  • 2020-12-20 09:54
    def prime_max(x):
    a = x
    i = 2
    while i in range(2,int(a+1)):
        if a%i == 0:
            a = a/i
            
            if a == 1:
                 print(i)
            i = i-1
        i = i+1       
    
    0 讨论(0)
  • 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

    0 讨论(0)
  • 2020-12-20 09:56

    Another solution to this problem using Python.

    def lpf(x):
    lpf=2
    while (x>lpf):
        if (x%lpf==0):
            x=x/lpf
    
        else:
            lpf+=1
    return x
    print(lpf(600851475143))
    
    0 讨论(0)
提交回复
热议问题