Skip to content

NextPrime ​

The next prime strictly greater than n, or the kth prime after n.

✓ checked against that system · ! checked, with disagreements (hover a chip)WikipediaPrime numberMathWorldNextPrimePrimeNumberWikidataQ49008Encyclopedia of MathematicsPrime_numbernLabprime numberBritannicatopic/prime-numberOEISA000040Wolfram LanguageNextPrime✓
NextPrime(n)smallest prime strictly greater than nn.
SageMathnext_prime(n)SymPynextprime(n)Julianext_prime(ZZ(n))Rustnext_prime(n)
NextPrime(n, k)the kkth prime after nn; negative kk walks backward.
SymPynextprime(n, k)
NextPrime(n, k?)The next prime strictly greater than n, or the kth prime after n.
SymPynextprime(n, k?)
Typed signatures
TypePackageApplies
(integer, integer?) -> integercompute-enginealways
(number, number?) -> integernumber-theoryreplaces compute-enginealways

Domain: Number theory

Details
  • NextPrime(n) is the (m+1)(m+1)th prime, where mm is the count of primes ≤n\le n.
  • NextPrime(n, k) generalizes to the (m+k)(m+k)th prime, so a negative kk steps backward to a prime below nn.
  • n need not be prime or even an integer; compute-engine simply finds the next prime above it.
  • Threads element-wise over a list, as Wolfram's Listable heads do.

Plot

Examples

1 more kept as data, checked against the oracles
Basic #
live ↗
InNextPrime(10)\mathrm{NextPrime}(10)Out1111
live ↗
InNextPrime(100)\mathrm{NextPrime}(100)Out101101

The second prime after 10

live ↗
InNextPrime(10,2)\mathrm{NextPrime}(10, 2)Out1313
live ↗
InNextPrime(6)\mathrm{NextPrime}(6)Out77

The second prime after 50

live ↗
InNextPrime(50,2)\mathrm{NextPrime}(50, 2)Out5959

The largest prime below 50

live ↗
InNextPrime(50,−1)\mathrm{NextPrime}(50, -1)Out4747
Scope #

Threads element-wise over a list, as Wolfram's Listable heads do

live ↗
InNextPrime([1,5,10,15])\mathrm{NextPrime}(\bigl\lbrack1, 5, 10, 15\bigr\rbrack)Out[2,7,11,17]\bigl\lbrack2, 7, 11, 17\bigr\rbrack

Large integers: the first prime past a googol is 10100+26710^{100}+267

live ↗
InNextPrime(10100)\mathrm{NextPrime}(10^{100})Out10 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 26710\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,000\,267

Rational nn: the next prime above 7/27/2

live ↗
InNextPrime(72)\mathrm{NextPrime}(\frac{7}{2})Out55

Real nn: the next prime above 100.5100.5

live ↗
InNextPrime(100.5)\mathrm{NextPrime}(100.5)Out101101

Solves for pp whose next prime is p+1p+1; only p=1p=1 in range

live ↗
InFindInstance(NextPrime(p)=p+1∧0<p<10,p,Z)\mathrm{FindInstance}(\mathrm{NextPrime}(p)=p+1∧0\lt p\lt10, p, ℤ)Out[[Rule(p,1)]]\bigl\lbrack\bigl\lbrack\mathrm{Rule}(p, 1)\bigr\rbrack\bigr\rbrack
Applications #

Second argument steps kk primes on from the start: the 25th prime

live ↗
InNextPrime(1,25)\mathrm{NextPrime}(1, 25)Out9797

Last digits of the first 100 next-primes show the pattern of residues

live ↗
InArray(NextPrime,100) mod 10\mathrm{Array}(\mathrm{NextPrime}, 100)\bmod10Out[2,3,5,5,7,7,1,1,1,1,3,3,7,7,7,7,9,9,3,3,3,3,9,9,9,9,9,9,1,1,7,7,7,7,7,7,1,1,1,1,3,3,7,7,7,7,3,3,3,3,3,3,9,9,9,9,9,9,1,1,7,7,7,7,7,7,1,1,1,1,3,3,9,9,9,9,9,9,3,3,3,3,9,9,9,9,9,9,7,7,7,7,7,7,7,7,1,1,1,1]\bigl\lbrack2, 3, 5, 5, 7, 7, 1, 1, 1, 1, 3, 3, 7, 7, 7, 7, 9, 9, 3, 3, 3, 3, 9, 9, 9, 9, 9, 9, 1, 1, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3, 3, 3, 9, 9, 9, 9, 9, 9, 1, 1, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 3, 3, 9, 9, 9, 9, 9, 9, 3, 3, 3, 3, 9, 9, 9, 9, 9, 9, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1\bigr\rbrack

Lesser members of twin prime pairs below 100

live ↗
InFilter(1..100,_1⁡↦IsPrime(_1⁡)∧NextPrime(_1⁡)=_1⁡+2)\mathrm{Filter}(1..100, \operatorname{\_1}↦\mathrm{IsPrime}(\operatorname{\_1})∧\mathrm{NextPrime}(\operatorname{\_1})=\operatorname{\_1}+2)Out[3,5,11,17,29,41,59,71]\bigl\lbrack3, 5, 11, 17, 29, 41, 59, 71\bigr\rbrack

First prime above each power of ten

live ↗
InMap(_1⁡↦NextPrime(10_1⁡),0..20)\mathrm{Map}(\operatorname{\_1}↦\mathrm{NextPrime}(10^{\operatorname{\_1}}), 0..20)Out[2,11,101,1 009,10 007,100 003,1 000 003,10 000 019,100 000 007,1 000 000 007,10 000 000 019,100 000 000 003,1 000 000 000 039,10 000 000 000 037,100 000 000 000 031,1 000 000 000 000 037,10 000 000 000 000 061,100 000 000 000 000 003,1 000 000 000 000 000 003,10 000 000 000 000 000 051,100 000 000 000 000 000 039]\bigl\lbrack2, 11, 101, 1\,009, 10\,007, 100\,003, 1\,000\,003, 10\,000\,019, 100\,000\,007, 1\,000\,000\,007, 10\,000\,000\,019, 100\,000\,000\,003, 1\,000\,000\,000\,039, 10\,000\,000\,000\,037, 100\,000\,000\,000\,031, 1\,000\,000\,000\,000\,037, 10\,000\,000\,000\,000\,061, 100\,000\,000\,000\,000\,003, 1\,000\,000\,000\,000\,000\,003, 10\,000\,000\,000\,000\,000\,051, 100\,000\,000\,000\,000\,000\,039\bigr\rbrack

Gap between 10n10^n and the next prime stays small

live ↗
InMap(_1⁡↦NextPrime(10_1⁡)−10_1⁡,0..20)\mathrm{Map}(\operatorname{\_1}↦\mathrm{NextPrime}(10^{\operatorname{\_1}})-10^{\operatorname{\_1}}, 0..20)Out[1,1,1,9,7,3,3,19,7,7,19,3,39,37,31,37,61,3,3,51,39]\bigl\lbrack1, 1, 1, 9, 7, 3, 3, 19, 7, 7, 19, 3, 39, 37, 31, 37, 61, 3, 3, 51, 39\bigr\rbrack
Properties #

NextPrime steps from pnp_n to pn+1p_{n+1}. See NthPrime

live ↗
InNextPrime(NthPrime(20))=NthPrime(21)\mathrm{NextPrime}(\mathrm{NthPrime}(20))=\mathrm{NthPrime}(21)OutTrue\mathrm{True}

The 39th prime, reached by stepping from 1

live ↗
InNextPrime(1,39)\mathrm{NextPrime}(1, 39)Out167167

Skips the composite 16 to land on 17

live ↗
InNextPrime(15)\mathrm{NextPrime}(15)Out1717

The result is always a member of the primes

live ↗
InNextPrime(30)∈P\mathrm{NextPrime}(30)∈\mathbb{P}OutTrue\mathrm{True}
Possible issues #

A negative kk walks backward, giving the prime immediately before 10

live ↗
InNextPrime(10,−1)\mathrm{NextPrime}(10, -1)Out77

Negative nn: Wolfram counts −7-7 as prime and returns it

live ↗
InNextPrime(−10)\mathrm{NextPrime}(-10)Out−7-7
About
Examples23
Checked againstWolfram Language 23 agreeSageMath 8 agree1 differ2 errorSymPy 14 agree1 differ2 errorJulia 7 agree1 differ2 errorRust 6 agree5 error
CrosswalkWikipediaMathWorld ×2WikidataEncyclopedia of MathematicsnLabBritannicaOEISWolfram LanguageSageMathSymPy ×2JuliaRust

Implementation

mappedsympypackages/oracle/src/mappings.ts

nextprime(n) is the least prime above n.

mappedsympypackages/oracle/src/mappings.ts

nextprime(n, i) is the i-th prime above n; i must be positive, where ours takes a negative step to the primes below.

mappedsagepackages/oracle/src/mappings.ts
mappedjuliapackages/oracle/src/mappings.ts
mappedrustpackages/oracle/src/mappings.ts

See also: NthPrime, PrimePi