cython
22 строки · 633.0 Байт
1# distutils: language=c++
2
3
4from libcpp.vector cimport vector
5
6def primes(unsigned int nb_primes):
7cdef int n, i
8cdef vector[int] p
9p.reserve(nb_primes) # allocate memory for 'nb_primes' elements.
10
11n = 2
12while p.size() < nb_primes: # size() for vectors is similar to len()
13for i in p:
14if n % i == 0:
15break
16else:
17p.push_back(n) # push_back is similar to append()
18n += 1
19
20# If possible, C values and C++ objects are automatically
21# converted to Python objects at need.
22return p # so here, the vector will be copied into a Python list.
23