OFFSET
1,2
COMMENTS
a(n) can be found incrementally by storing pairs (v, p) where v is the value of the expression and p is the product of all terms appearing after the last + operator. The process starts with (1, 1) and at stage n, each (v, p) maps to (v+n, n), (v-p+p*n, p*n) for operator + and *, respectively. See second Python program. - Michael S. Branicky, Jan 14 2022
EXAMPLE
For n=4, the eight expressions {1+2+3+4,1+2+3x4,1+2x3+4,1+2x3x4,1x2+3+4,1x2+3x4, 1x2x3+4,1x2x3x4} are obtained, with the eight values {10,15,11,25,9,14,10,24} respectively, seven of which are distinct, so a(4)=7.
PROG
(Python)
from itertools import product
def a(n): return len(set(eval("1" + "".join(op+str(i) for op, i in zip(ops, range(2, n+1)))) for ops in product("+*", repeat=n-1)))
print([a(n) for n in range(1, 16)]) # Michael S. Branicky, Jan 14 2022
(Python) # faster version for initial segment of sequence (see Comments)
def afindn(terms):
vset, vpset = {1}, {(1, 1)}
print(len(vset), end=", ")
for n in range(2, terms+1):
newvset, newvpset = set(), set()
for v, p in vpset:
newvs = [v+n, v+p*(n-1)]
newvset.update(newvs)
if n != terms: # saves memory for that last term
newvpset.update([(newvs[0], n), (newvs[1], p*n)])
vset, vpset = newvset, newvpset
print(len(vset), end=", ")
afindn(26) # Michael S. Branicky, Jan 14 2022
CROSSREFS
KEYWORD
nonn,more
AUTHOR
John W. Layman, May 15 2008
EXTENSIONS
a(17)-a(26) from Wojciech Florek, Feb 27 2018
a(27)-a(31) from Michael S. Branicky, Jan 14 2022
STATUS
approved