Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- from numba import jit
- isprime = lambda number: all(number % i for i in range(2, number))
- @jit(nopython=True)
- def is_prime(number):
- n = number
- counter = 0
- for i in range(1, n + 1):
- if n % i == 0:
- counter += 1
- return True if counter == 2 else False
- @jit(nopython=True)
- def issimple(n):# получаем число
- d=2 # олучить остаток от деления на 2, значит - простое
- while n % d!=0:# пока число mod 2<>0 переберем делители, так как , простое, делится неа 2 и на себя,
- d+=1# перебрасываем все, кроме 2
- return d==n # возвращаем результат
- # @jit(nopython=True)
- def get_primes(start, edge):
- primes = []
- for i in range(start, edge):
- if i % 10 == 0: print('step ',i)
- if issimple(i): primes.append(i)
- return primes
- def main():
- issimple(3)
- ## print(3)
- ## get_primes(0, 3)
- r = (97999797, 97999997)
- print(r[-1]-r[0])
- t = time.clock()
- rez = get_primes(*r)
- print ("primes: "+len(rez).__str__(), ' for ', (time.clock() - t))
- print(rez, ' for ', (time.clock() - t))
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement