1 | initial version |
One possible realization as a generator :
def PGm1(k):
"""
Returns a generator for the sequence p(i)^k-1 in i
where p(i) is the i-th prime.
Example : the n first terms of the sequence can be obtained by :
Gk = PGm1(k)
list(Gk.__next__() for u in range(n))
"""
r = 0
while True:
r = r.next_prime()
yield r^k - 1
Example of use :
sage: G2=PGm1(2)
sage: list(G2.__next__() for u in range(5))
[3, 8, 24, 48, 120]
Beware : this generator is infinite. Using it "raw" won't return...