login
A366911
a(n) = (A364054(n+1) - A364054(n)) / prime(n) (where prime(n) denotes the n-th prime number).
2
1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, -1, 1, -1, 1, 1, 1, -3, 2, -2, 1, -1, 1, -1, 2, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1
OFFSET
1,29
COMMENTS
a(n) is the number of steps of size prime(n) in going from A364054(n) to A364054(n+1).
LINKS
Rémy Sigrist, PARI program
EXAMPLE
a(7) = (A364054(8) - A364054(7)) / prime(7) = (19 - 2) / 17 = 1.
MATHEMATICA
nn = 2^16; c[_] := False; m[_] := 0; j = 1; c[0] = c[1] = True;
Monitor[Do[p = Prime[n - 1]; r = Mod[j, p];
While[Set[k, p m[p] + r ]; c[k], m[p]++];
Set[{a[n - 1], c[k], j}, {(k - j)/p, True, k}], {n, 2, nn + 1}], n];
Array[a, nn] (* Michael De Vlieger, Oct 27 2023 *)
PROG
(PARI) See Links section.
(Python)
from itertools import count, islice
from sympy import nextprime
def A366911_gen(): # generator of terms
a, aset, p = 1, {0, 1}, 2
while True:
k, b = divmod(a, p)
for i in count(-k):
if b not in aset:
aset.add(b)
a, p = b, nextprime(p)
yield i
break
b += p
A366911_list = list(islice(A366911_gen(), 30)) # Chai Wah Wu, Oct 27 2023
CROSSREFS
Cf. A160357, A364054, A366912 (partial sums).
Sequence in context: A336929 A325524 A010269 * A077450 A328330 A214878
KEYWORD
sign
AUTHOR
Rémy Sigrist, Oct 27 2023
STATUS
approved