| 1 | initial version |
The prime_range function accepts only numbers as arguments,
not symbolic expressions.
Depending on your intended use of these prime ranges, that might be enough.
For instance, to count the number of primes in each such range:
for n in range(1, 21):
a = n^2 + 1
b = (n + 1)^2 + 1
nprimes = sum(1 for p in prime_range(a, b))
print(f"n = {n}: {nprimes} primes")
The output is:
n = 1: 2 primes
n = 2: 2 primes
n = 3: 2 primes
n = 4: 3 primes
n = 5: 2 primes
n = 6: 4 primes
n = 7: 3 primes
n = 8: 4 primes
n = 9: 3 primes
n = 10: 5 primes
n = 11: 4 primes
n = 12: 5 primes
n = 13: 5 primes
n = 14: 4 primes
n = 15: 6 primes
n = 16: 7 primes
n = 17: 5 primes
n = 18: 6 primes
n = 19: 6 primes
n = 20: 7 primes
| 2 | No.2 Revision |
The prime_range function accepts only numbers as arguments,
not symbolic expressions.
Depending on your intended use of these prime ranges, that might be enough.
For instance, to count the number of primes in each such range:
for n in range(1, 21):
a = n^2 + 1
b = (n + 1)^2 + 1
nprimes = sum(1 for p in prime_range(a, b))
print(f"n = {n}: {nprimes} primes")
The output is:
n = 1: 2 primes
n = 2: 2 primes
n = 3: 2 primes
n = 4: 3 primes
n = 5: 2 primes
n = 6: 4 primes
n = 7: 3 primes
n = 8: 4 primes
n = 9: 3 primes
n = 10: 5 primes
n = 11: 4 primes
n = 12: 5 primes
n = 13: 5 primes
n = 14: 4 primes
n = 15: 6 primes
n = 16: 7 primes
...
n = 17: 5 primes
n = 18: 6 primes
n = 19: 6 primes
n = 20: 7 primes
The prime counting function prime_pi
gives another way to get that count:
def primes_between_squares(n):
r"""
Return the number of squares between n^2 and (n+1)^2.
"""
return prime_pi((n+1)^2) - prime_pi(n^2)
for n in range(1, 21):
print(f"n = {n}: {primes_between_squares(n)} primes")
(same output).
| 3 | No.3 Revision |
The prime_range function accepts only numbers as arguments,
not symbolic expressions.
Depending on your intended use of these prime ranges, that might be enough.
For instance, to count the number of primes in each such range:
for n in range(1, 21):
a = n^2 + 1
b = (n + 1)^2 + 1
nprimes = sum(1 for p in prime_range(a, b))
print(f"n = {n}: {nprimes} primes")
The output is:
n = 1: 2 primes
n = 2: 2 primes
n = 3: 2 primes
n = 4: 3 primes
n = 5: 2 primes
...
n = 16: 7 primes
n = 17: 5 primes
n = 18: 6 primes
n = 19: 6 primes
n = 20: 7 primes
The prime counting function prime_pi
gives another way to get that count:
def primes_between_squares(n):
r"""
Return the number of squares between n^2 and (n+1)^2.
"""
return prime_pi((n+1)^2) - prime_pi(n^2)
for n in range(1, 21):
print(f"n = {n}: {primes_between_squares(n)} primes")
(same output).
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.