login

Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.

Value k at the n-th step of A371282, where multiplied values are positive and subtracted values are negative.
2

%I #16 Mar 19 2024 08:32:15

%S 2,3,-1,4,-17,5,-11,6,-16,7,-49,9,-54,8,-62,10,-89,12,-120,13,-143,14,

%T -168,15,-194,18,-271,19,-305,20,-341,21,-378,22,-440,23,-483,24,-527,

%U 25,-599,26,-649,27,-701,28,-755,29,-811,30,-869,31,-929,32,-991,33

%N Value k at the n-th step of A371282, where multiplied values are positive and subtracted values are negative.

%H Michael S. Branicky, <a href="/A371295/b371295.txt">Table of n, a(n) for n = 1..10000</a>

%e At the first step of A371282, to get from A371282(1)=1 to A371282(2)=2, we multiply by 2, so a(1)=2.

%e At the fifth step of A371282, to get from A371282(5)=20 to A371282(6)=3, we subtract 17, so a(5)=-17.

%o (Python)

%o from itertools import islice

%o def agen(): # generator of terms

%o mina, an, aset, mink, kset = 1, 1, {1}, 1, set()

%o while True:

%o k1, ak1, k2 = 0, mina, mink

%o if mina < an:

%o for ak1 in range(mina, an-mink+1):

%o if ak1 not in aset and an - ak1 not in kset:

%o k1 = an - ak1

%o break

%o while k2 in kset or an*k2 in aset:

%o k2 += 1

%o an, k = (an-k1, k1) if k1 > 0 else (an*k2, k2)

%o yield -k if k1 > 0 else k

%o aset.add(an)

%o kset.add(k)

%o while mina in aset: mina += 1

%o while mink in kset: mink += 1

%o print(list(islice(agen(), 56))) # _Michael S. Branicky_, Mar 18 2024

%Y Cf. A371282, A099004 (steps of add or subtract), A360597 (steps of multiply or divide).

%K sign

%O 1,1

%A _Neal Gersh Tolunsky_, Mar 17 2024

%E a(12) and beyond from _Michael S. Branicky_, Mar 18 2024