Табличная функция primes
-
primes()– возвращает бесконечную таблицу с единственным столбцомprime(UInt64), содержащим простые числа в порядке возрастания, начиная с 2. ИспользуйтеLIMIT(и при необходимостиOFFSET), чтобы ограничить количество строк. -
primes(N)– возвращает таблицу с единственным столбцомprime(UInt64), содержащим первыеNпростых чисел, начиная с 2. -
primes(N, M)– возвращает таблицу с единственным столбцомprime(UInt64), содержащимMпростых чисел, начиная сN-го простого числа (индексация с нуля). -
primes(N, M, S)– возвращает таблицу с единственным столбцомprime(UInt64), содержащимMпростых чисел, начиная сN-го простого числа (индексация с нуля) с шагомSпо индексу простого числа. Возвращаемые простые числа соответствуют индексамN, N + S, N + 2S, ..., N + (M - 1)S.Sдолжен быть ≥ 1.
Это аналогично системной таблице system.primes.
Следующие запросы эквивалентны:
Следующие запросы также эквивалентны:
Примеры
Первые 10 простых чисел.
Первое простое число, большее 1e15.
Первые семь простых чисел Мерсенна.
Примечания
- Самые быстрые формы — это простые запросы с диапазоном и точечным фильтром, которые используют шаг по умолчанию (
1), напримерprimes(N)илиprimes() LIMIT N. Эти формы используют оптимизированный генератор простых чисел для эффективного вычисления очень больших простых чисел. Например, следующий запрос выполняется почти мгновенно:
- Использование ненулевого смещения и/или шага больше 1 (
primes(offset, count)/primes(offset, count, step)) может работать медленнее, поскольку функции может потребоваться сгенерировать дополнительные простые числа и затем отбросить их. Если вам не нужны смещение или шаг, просто не указывайте их.