From cf7861e39f7c027497cbdfc9d0205a16350ea564 Mon Sep 17 00:00:00 2001 From: Krzysztof Malinowski Date: Wed, 12 Oct 2016 01:21:42 +0200 Subject: [PATCH 1/2] pep8-ish --- primes.py | 67 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/primes.py b/primes.py index 1fb5b83..7ddfb49 100644 --- a/primes.py +++ b/primes.py @@ -1,38 +1,41 @@ +import os import sys import time -import os + def get_primes7(n): - """ - standard optimized sieve algorithm to get a list of prime numbers - --- this is the function to compare your functions against! --- - """ - if n < 2: return [] - if n == 2: return [2] - # do only odd numbers starting at 3 - if sys.version_info.major <= 2: - s = range(3, n+1, 2) - else: # Python 3 - s = list(range(3, n+1, 2)) - # n**0.5 simpler than math.sqr(n) - mroot = n ** 0.5 - half = len(s) - i = 0 - m = 3 - while m <= mroot: - if s[i]: - j = (m*m-3)//2 # int div - s[j] = 0 - while j < half: - s[j] = 0 - j += m - i = i+1 - m = 2*i+3 - return [2]+[x for x in s if x] + """ + standard optimized sieve algorithm to get a list of prime numbers + --- this is the function to compare your functions against! --- + """ + if n < 2: + return [] + if n == 2: + return [2] + # do only odd numbers starting at 3 + if sys.version_info.major <= 2: + s = range(3, n + 1, 2) + else: # Python 3 + s = list(range(3, n + 1, 2)) + # n**0.5 simpler than math.sqr(n) + mroot = n ** 0.5 + half = len(s) + i = 0 + m = 3 + while m <= mroot: + if s[i]: + j = (m * m - 3) // 2 # int div + s[j] = 0 + while j < half: + s[j] = 0 + j += m + i = i + 1 + m = 2 * i + 3 + return [2] + [x for x in s if x] -startTime = int(time.time()) -periodTime = int(os.environ['RUN_TIME']) +start_time = int(time.time()) +period_time = int(os.environ['RUN_TIME']) -while (int(time.time()) - startTime) < periodTime: - res = get_primes7(10000000) - print("Found {} prime numbers.".format(len(res))) +while (int(time.time()) - start_time) < period_time: + res = get_primes7(10000000) + print("Found {} prime numbers.".format(len(res))) From 3039b31506e58d1fd7124b1407426b69e796ddf3 Mon Sep 17 00:00:00 2001 From: Krzysztof Malinowski Date: Wed, 12 Oct 2016 01:24:32 +0200 Subject: [PATCH 2/2] using time.Since --- primes.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/primes.go b/primes.go index c5db08d..8308ecd 100644 --- a/primes.go +++ b/primes.go @@ -3,9 +3,8 @@ package main import ( "fmt" "math" - "time" "os" - "strconv" + "time" ) func getPrimes7(n int) []int { @@ -50,12 +49,12 @@ func getPrimes7(n int) []int { } func main() { - var startTime = int32(time.Now().Unix()) - var periodTime, _ = strconv.ParseInt(os.Getenv("RUN_TIME"), 10, 32) + var startTime = time.Now() + var periodTime, _ = time.ParseDuration(os.Getenv("RUN_TIME") + "s") var res []int - for (int32(time.Now().Unix()) - startTime) < int32(periodTime) { + for time.Since(startTime) < periodTime { res = getPrimes7(10000000) fmt.Printf("Found %d prime numbers.\n", len(res)) }