login
A343453
The number of 3's minus the number of 2's among the first n terms of A342101.
0
0, -1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 2, 2, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 1, 1, 0, 1, 1, 2, 2, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 3
OFFSET
1,22
COMMENTS
It appears that the sequence never goes below -1 and increases without bound.
It appears that if the first appearance of a number x occurs at index n and the first appearance of x+1 appears at index m then m/n approaches 4 as x increases.
EXAMPLE
A342101 = [1, 2, 3, 1, 3, ...]. By the fifth term of A342101 we see 2 terms with value 3, and a single term with value 2, so a(5) = 2 - 1 = 1.
MATHEMATICA
Block[{a = {}, s = Nest[Join[#, Drop[#, {(Length[#] + 1)/2}]] &, Range[3], 6], c}, Array[Set[c[#], 0] &, 3]; Do[c[ s[[i]] ]++; AppendTo[a, c[3] - c[2]], {i, Min[Length@ s, 104]}]; a] (* Michael De Vlieger, May 01 2021 *)
PROG
(Kotlin)
fun a(iter: Int): List<Int> = runningSum(twosVersusThrees(iter))
fun runningSum(a: List<Int>) = a.drop(1).fold(listOf(a[0])) { acc, cur ->
acc + (acc.last() + cur)
}
fun twosVersusThrees(iter: Int): List<Int> = removeMiddle(listOf(0, -1, 1), iter)
fun removeMiddle(initial: List<Int>, iter: Int): List<Int> {
if (iter < 2) return initial
val prev = removeMiddle(initial, iter-1)
return prev + prev.subList(0, (prev.size - 1) / 2) + prev.subList((prev.size + 1) /2, prev.size)
}
(PARI) See links.
CROSSREFS
Cf. A342101.
Sequence in context: A319372 A319367 A234514 * A051031 A181059 A111915
KEYWORD
sign
AUTHOR
Matthew Malone, Apr 15 2021
STATUS
approved