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.

A071313 a(n) is the smallest number that cannot be obtained from the numbers {1,3,...,2*n-1} using each number at most once and the operators +, -, *, /, where intermediate subexpressions must be integers.

This page as a plain text file.
%I A071313 #13 Dec 29 2022 06:46:21
%S A071313 2,5,11,41,92,733,4337,28972,195098,1797746
%N A071313 a(n) is the smallest number that cannot be obtained from the numbers {1,3,...,2*n-1} using each number at most once and the operators +, -, *, /, where intermediate subexpressions must be integers.
%C A071313 If noninteger subexpressions are permitted, a(5) = 122 and not 92 since 92 = (3+7)*(9 + 1/5). - _Michael S. Branicky_, Jul 01 2022
%H A071313 Gilles Bannay, <a href="https://web.archive.org/web/20061201125224/http://gilles.bannay.free.fr/jeux_us.html">Countdown Problem</a>
%H A071313 <a href="/index/Fo#4x4">Index entries for similar sequences</a>
%e A071313 a(2)=5 because using {1,3} and the four operations we can obtain 1=1, 3-1=2, 3=3, 3+1=4 but we cannot obtain 5 in the same way.
%o A071313 (Python)
%o A071313 def a(n):
%o A071313     R = dict() # index of each reachable subset is [card(s)-1][s]
%o A071313     for i in range(n): R[i] = dict()
%o A071313     for i in range(1, n+1): R[0][(2*i-1,)] = {2*i-1}
%o A071313     reach = set(range(1, 2*n, 2))
%o A071313     for j in range(1, n):
%o A071313         for i in range((j+1)//2):
%o A071313             for s1 in R[i]:
%o A071313                 for s2 in R[j-1-i]:
%o A071313                     if set(s1) & set(s2) == set():
%o A071313                         s12 = tuple(sorted(set(s1) | set(s2)))
%o A071313                         if s12 not in R[len(s12)-1]:
%o A071313                             R[len(s12)-1][s12] = set()
%o A071313                         for a in R[i][s1]:
%o A071313                             for b in R[j-1-i][s2]:
%o A071313                                 allowed = [a+b, a*b, a-b, b-a]
%o A071313                                 if a!=0 and b%a==0: allowed.append(b//a)
%o A071313                                 if b!=0 and a%b==0: allowed.append(a//b)
%o A071313                                 R[len(s12)-1][s12].update(allowed)
%o A071313                                 reach.update(allowed)
%o A071313     k = 1
%o A071313     while k in reach: k += 1
%o A071313     return k
%o A071313 print([a(n) for n in range(1, 9)]) # _Michael S. Branicky_, Jul 01 2022
%Y A071313 Cf. A060315, A071848.
%K A071313 hard,more,nonn
%O A071313 1,1
%A A071313 Koksal Karakus (karakusk(AT)hotmail.com), Jun 11 2002
%E A071313 a(10) from _Michael S. Branicky_, Jul 01 2022