Project Euler 5 in Python - How can I optimize my solution?

后端 未结 20 1068
醉梦人生
醉梦人生 2020-11-30 08:00

I\'ve recently been working on Project Euler problems in Python. I am fairly new to Python, and still somewhat new as a programmer.

In any case, I\'ve ran into a sp

20条回答
  •  温柔的废话
    2020-11-30 08:43

    Here i have also done using prime factorization way.

    #!/usr/bin/env python
    import math
    def is_prime(num):
        if num > 1:
            if num == 2:
                return True
            if num%2 == 0:
                return False
            for i in range(3, int(math.sqrt(num))+1, 2):
                if num%i == 0:
                    return False
            return True
        return False
    
    def lcm(number):
        prime = []
        lcm_value = 1
        for i in range(2,number+1):
            if is_prime(i):
                prime.append(i)
        final_value = []
        for i in prime:
            x = 1
            while i**x < number:
                x = x + 1
            final_value.append(i**(x-1))
        for j in final_value:
            lcm_value = j * lcm_value
        return lcm_value
    
    if __name__ == '__main__':
        print lcm(20)
    

    After checking how much time it has taken, it was not bad at all.

    root@l-g6z6152:~/learn/project_euler# time python lcm.py

    232792560
    
    real    0m0.019s
    user    0m0.008s
    sys 0m0.004s
    

提交回复
热议问题