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

后端 未结 20 1066
醉梦人生
醉梦人生 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:50

    This solution ran pretty quickly for me (imports numpy).

    t0 = time.time()
    import numpy
    
    ints = numpy.array(range(1,21))
    primes = [2,3,5,7,11,13,17,19] # under 20
    facts = []
    for p in primes:
        counter = 0
        nums = ints
        while any(nums % p == 0):
            nums = nums / float(p)
            counter += 1
        facts.append(counter)
    
    facts = numpy.array(facts)
    mults = primes**facts
    ans = 1
    for m in mults:
        ans = m * ans
    
    t1 =time.time()
    perf = t1 - t0
    print "Problem 5\nAnswer:",ans, "runtime:", perf, "seconds"
    
    """Problem 5
    Answer: 232792560 runtime: 0.00505399703979 seconds"""
    

提交回复
热议问题