Пример генератора простых чисел

В математике простыми числами называют числа, которые делятся на 1 и на само себя. Часто в учебных целях при изучении языков программирования встречается задача, в которой просят создать генератор простых чисел. Напишем функцию генерации простых чисел на языке Python.

def primes():
    i = 2
    while True:
        for j in range(2, i + 1):
            if j != i and i % j == 0:
                break
        else:
            yield i
        i += 1

В цикле проверяем все числа последовательности на делимость без остатка на все числа, которые меньше текущего числа. Как только остаток от деления равен 0, начинается проверка следующего числа. В функции с помощью оператора yield вычисления приостанавливаются. В качестве результата возвращается очередное простое число.

Пример использования:

print(list(itertools.takewhile(lambda x : x <= 31, primes())))
# [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *