cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A071115 a(1) = 1; a(n+1) is the smallest integer > 0 that cannot be obtained from the integers {a(1), ..., a(n)} using each number at most once and the operators +, -, *, /, where intermediate subexpressions must be integers.

This page as a plain text file.
%I A071115 #19 Jan 31 2023 08:48:39
%S A071115 1,2,4,11,34,152,1007,7335,85761,812767
%N A071115 a(1) = 1; a(n+1) is the smallest integer > 0 that cannot be obtained from the integers {a(1), ..., a(n)} using each number at most once and the operators +, -, *, /, where intermediate subexpressions must be integers.
%C A071115 a(n+1) > 2*a(n) + 2 for n > 3 since a(n) may be added to every number possible at the previous step (at least 1..a(n)-1) and a(n), 2*a(n), 2*a(n)+1, and 2*(a(n)+1) are also present. - _Michael S. Branicky_, Jan 30 2023
%H A071115 Gilles Bannay, <a href="https://web.archive.org/web/20061201125224/http://gilles.bannay.free.fr/jeux_us.html">Countdown Problem</a>
%H A071115 <a href="/index/Fo#4x4">Index entries for similar sequences</a>
%e A071115 a(4)=11 because we can write 4+1=5, 4+2=6, 4+2+1=7, 4*2=8, 4*2+1=9, (4+1)*2=10 by using 1, 2 and 4 but we cannot do the same thing for 11.
%o A071115 (Python)
%o A071115 def a(n, v):
%o A071115     R = dict() # index of each reachable subset is [card(s)-1][s]
%o A071115     for i in range(n): R[i] = dict()
%o A071115     for i in range(n): R[0][(v[i],)] = {v[i]}
%o A071115     reach = set(v)
%o A071115     for j in range(1, n):
%o A071115         for i in range((j+1)//2):
%o A071115             for s1 in R[i]:
%o A071115                 for s2 in R[j-1-i]:
%o A071115                     if set(s1) & set(s2) == set():
%o A071115                         s12 = tuple(sorted(set(s1) | set(s2)))
%o A071115                         if s12 not in R[len(s12)-1]:
%o A071115                             R[len(s12)-1][s12] = set()
%o A071115                         for a in R[i][s1]:
%o A071115                             for b in R[j-1-i][s2]:
%o A071115                                 allowed = [a+b, a*b, a-b, b-a]
%o A071115                                 if a!=0 and b%a==0: allowed.append(b//a)
%o A071115                                 if b!=0 and a%b==0: allowed.append(a//b)
%o A071115                                 R[len(s12)-1][s12].update(allowed)
%o A071115                                 reach.update(allowed)
%o A071115     k = 1
%o A071115     while k in reach: k += 1
%o A071115     return k
%o A071115 alst = [1]
%o A071115 [alst.append(a(n, alst)) for n in range(1, 8)]
%o A071115 print(alst) # _Michael S. Branicky_, Jul 01 2022
%Y A071115 Cf. A060315, A217043 (allows intermediate fractions).
%K A071115 hard,more,nonn
%O A071115 1,2
%A A071115 Koksal Karakus (karakusk(AT)hotmail.com), May 27 2002