A363083 a(0)=a(1)=1. For n>1, if the number of occurrences of a(n-1) is less than abs(a(n-1)), then a(n)=a(n-1)-a(n-2). Otherwise, a(n)=a(n-1)+a(n-2).
1, 1, 2, 1, 3, 2, 5, 3, -2, -5, -3, 2, -1, 1, 0, 1, 1, 2, 3, 5, 2, 7, 5, -2, 3, 1, 4, 3, 7, 4, -3, -7, -4, 3, -1, 2, 1, 3, 4, 1, 5, 4, 9, 5, 14, 9, -5, -14, -9, 5, -4, -9, -5, 4, -1, 3, 2, 5, 7, 2, 9, 7, -2, 5, 3, 8, 5, 13, 8, -5, -13, -8, 5, -3, 2, -1, 1, 0
Offset: 0
Examples
a(0) = 1 a(1) = 1 a(2) = 2. Two 1's in the list so far. 2 > abs(1). 1 + 1 = 2. a(3) = 1. One 2 in the list so far. 1 < abs(2). 2 - 1 = 1. a(4) = 3. Three 1's in the list so far. 3 > abs(1). 1 + 2 = 3.
Links
- Gavin Lupo, Table of n, a(n) for n = 0..50000
- Gavin Lupo, Image of the first 100000 terms.
- Gavin Lupo, Image of the first 1000000 terms.
- Gavin Lupo, Image of the first 10000000 terms.
- Gavin Lupo, Image of the first 25000000 terms.
Programs
-
Python
from itertools import islice from collections import Counter def agen(): # generator of terms anprev, an, c = 1, 1, Counter([1]) yield 1 while True: yield an c[an] += 1 anprev, an = an, an-anprev if c[an] < abs(an) else an+anprev print(list(islice(agen(), 80))) # Michael S. Branicky, May 18 2023