Trouvez les numéros de support les plus courts

15

Les nombres entre parenthèses offrent un moyen simple d'exprimer de grands nombres entiers en utilisant uniquement le crochet gauche, l'espace et le crochet droit ( [ ]).

Un numéro de parenthèse est défini comme une chaîne d'une ou plusieurs paires de parenthèses correspondantes [...]appelées morceaux , chacune séparée de ses voisins par zéro ou plusieurs espaces.

Le nombre d'espaces entre chaque bloc définit l' hyperopération entre eux. Aucun espace signifie addition, 1 espace signifie multiplication, 2 espaces signifie exponentiation, 3 espaces signifie tétration , etc. La hausse hyperopération d'ordre ont priorité, si tétration se produit avant exponentiation, exponentiation se produit avant la multiplication, etc. Ils sont également droit associatif, donc a^b^cest calculé comme a^(b^c). (Mais a^b*cc'est toujours (a^b)*c.)

Chaque bloc peut être vide ( []) ou contenir un autre numéro de parenthèse. Les blocs vides ont la valeur 0. Les blocs non vides ont la valeur de leur numéro de parenthèse contenu plus 1.

Exemples: ( ^^est la tétration, ^^^est la pentation )

  • [[]]a la valeur 1 car il est 0 ( []) incrémenté de 1
  • [[[]]]a la valeur 2 mais il en est de même [[]][[]]puisque les deux ( [[]]) sont ajoutés
  • [[[]]] [[[[]]] [[[[]]]]][[[]]] a la valeur 20 = (2 * ((2 ^ 3) +1)) + 2
  • [[[]]] [[[[]]]] a la valeur 65536 = 2 ^^^ 3 = 2 ^^ (2 ^^ 2) = 2 ^^ 4 == 2 ^ (2 ^ (2 ^ 2))
  • [[[[]]]] [[[]]] [[]] a la valeur 7625597484987 = 3 ^^^ (2 ^^^ 1) = 3 ^^^ 2 = 3 ^^ 3 = 3 ^ (3 ^ 3)

Dans les numéros de parenthèses valides:

  • Il n'y aura jamais d'espaces de début ou de fin.
  • Il y aura toujours au moins une paire de supports correspondants.
  • Tous les supports gauche auront un support droit correspondant.
  • Un espace n'apparaîtra jamais directement à droite [ni à gauche de ].
  • La valeur est toujours un entier non négatif.

Défi

Notez qu'il peut y avoir de nombreux formulaires pour un numéro de parenthèse qui donnent la même valeur. [[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]et les [[[]]] [[[[]]]]deux représentent 16, mais ce dernier est beaucoup plus court.

Votre défi consiste à écrire un algorithme qui tente de trouver la représentation du numéro de parenthèse la plus courte d'une valeur donnée. Par exemple, je pense que le moyen le plus court de représenter 16 est d'utiliser 17 caractères [[[]]] [[[[]]]].

Score (mis à jour)

Soit S l'ensemble des entiers de 1 à 256 (inclus) ainsi que les dix valeurs suivantes:

8191 13071 524287 2147483647 1449565302 1746268229 126528612 778085967 1553783038 997599288

(Les 4 premiers sont des nombres premiers de Mersenne, les autres sont aléatoires.)

La soumission qui génère le plus petit ensemble de numéros de parenthèses pour tout dans S gagnera. Votre score est la somme des longueurs de vos numéros de parenthèse pour toutes les valeurs en S (plus petit est meilleur).

Avec votre code, veuillez soumettre une liste de vos numéros de support pour tous les S , la commande exacte n'est pas très importante. par exemple:

1=[[]]
2=[[[]]]
3=[[[[]]]]
...
2147483647=[...]
...

(Je sais que ce n'est pas la méthode de notation optimale mais je ne suis pas configuré pour exécuter un tas de tests heuristiques aléatoires sur chaque soumission. Désolé :()

Règles

  • Vous ne pouvez coder en dur aucun numéro de parenthèse en plus des solutions incrémentielles triviales ( [], [[]], [[[]]], ...). Votre programme doit en fait rechercher des représentations optimales et courtes. (Bien que les résultats puissent être sous-optimaux.)
  • Votre algorithme devrait fonctionner pour tous les entiers non négatifs inférieurs à 2 147 483 648 (2 ^ 31). Vous ne pouvez pas se concentrer spécifiquement sur les valeurs de S .
  • Pour toute entrée particulière, votre algorithme devrait fonctionner en au plus 10 minutes sur un ordinateur moderne décent (~ processeur 2,5 GHz, ~ 6 Go de RAM).
  • Dans la chance (apparemment) rare d'égalité, la soumission la plus votée gagne.
  • Si vous copiez une autre solution ou la révisez sans attribution, vous serez disqualifié.
Loisirs de Calvin
la source
Je pense que 256 pourrait être un peu trop bas. Vous n'allez même pas très loin avec les hyper-opérations dans ces chiffres. Mais je peux me tromper, je ne peux pas vraiment comprendre combien de possibilités il y a de représenter 256 qui ne peuvent pas être facilement exclues.
Martin Ender
@ MartinBüttner je sais. J'avais envisagé 512 ou 1024, mais je craignais que cela n'oblige les gens à soumettre d'énormes blocs de texte pour leurs listes de numéros de parenthèses. Qu'en pensent les autres?
Calvin's Hobbies
@ Calvin'sHobbies: Que diriez-vous de demander un grand nombre sélectionné en plus du 1..256? Disons, le Mersenne prime 2 ^ 31 - 1.
Charles
@ Calvin'sHobbies Choisissez 10 à 20 plus grands nombres spécifiques en plus de votre gamme?
hmatt1
9
Ok, nom d'utilisateur mis à jour .... Je ne veux pas que mon mauvais comportement soit mal attribué
Pas que Charles

Réponses:

5

Python 11455b

Cette solution adopte une approche gourmande pour trouver des moyens de décomposer les nombres premiers, plutôt qu'une approche exhaustive. J'ai besoin de 9875b pour 1-256 par rapport à 8181 pour la solution probablement optimale de Martin dans cet espace.

Un tableau plus grand des résultats de multiplication et d'exponentiation donne de légères améliorations dans les cas de test plus grands. La solution ci-dessous a pris environ 7 minutes. L'augmentation de la durée d'exécution au-delà de 30 minutes a un impact minimal sur la sortie.

Comme Martin, j'ai eu un problème de priorité. Ma solution en restreignant la sélection des opérations n'est peut-être pas optimale.

#!/usr/bin/env python

# http://codegolf.stackexchange.com/questions/35480/find-the-shortest-bracket-numbers

import sys, math

reps = {}
forwards = {}
backwards = {}

MAX = 2**31

TABLE_SIZE = 2**12

def op_dec(op):
    if op>1:
        return op-1
    return op

def rep_op(a,op,b):
    return rep_num(a) +  (" "*op) + rep_num(b)
def min_rep_op(a,op,b,op_max):
    return min_rep(a,op_max) +  (" "*op) + min_rep(b,op_dec(op_max))

def rep_num(a):
    return ("["*(a+1)) + ("]"*(a+1))

def min_rep(n,op_max):
    if n < 9:
        return ("["*(n+1))+("]"*(n+1))
    for op in range(op_max,-1,-1):
        if (n, op) in reps:
            return reps[(n, op)]
    for op in range(op_max,-1,-1):
        if (n, op) in backwards:
            a,op,b = backwards[(n, op)]
            return min_rep_op(a,op,b,op_max)
    else:
        for m in rep_list:
            c = m[0]
            if c < n:
                r = n - c
                for op in range(op_max,-1,-1):
                    if (c, op) in backwards:
                        a,op,b = backwards[(c, op)]
                        if r<10:
                            return ("["*r) + min_rep_op(a,op,b,op_max) + ("]"*r)
                        else:
                            return "[" + min_rep(r-1,op_max) + min_rep_op(a,op,b,op_max) + "]"
                break

def expand(a,op,b):
    if op == 0:
        n = a+b
    elif op == 1:
        n = a*b
    elif op == 2:
        if b*math.log10(a) > math.log10(MAX):
            n = MAX
        else: 
            n = a**b
    elif (a,op,b) in forwards:
        n = forwards[(a,op,b)]
    else: # tetration and higher
        t = a
        for i in xrange(b-1):
            t = expand(a,op-1,t)
            if t>=MAX:
                break
        n = t

    if n > MAX-1:
        n = MAX
    forwards[(a,op,b)] = n

    if (n, op) in backwards:
        c = len(rep_op(*backwards[(n, op)]))
        if c > (a*2+op+b*2):
            backwards[(n, op)] = (a,op,b)
    else:
        backwards[(n, op)] = (a,op,b)

    return n

t = 0

# populate the multiplication, exponentiation, and tetration tables
for op in range(1,4):
    for a in range((1,2,2,2)[op],TABLE_SIZE):
        for b in range((1,2,2,2)[op],TABLE_SIZE):
            t = expand(a,op,b)
            if t == MAX:
                break
rep_list = sorted(backwards.keys(),key=lambda x: x[0]*4-x[1],reverse=True)

for i in list(range(1, 257))+[8191,13071,524287,2147483647,1449565302,1746268229,126528612,778085967,1553783038,997599288]:
    t = min_rep(i,3)
    reps[i] = t
    print i, t

Production:

1 [[]]
2 [[[]]]
3 [[[[]]]]
4 [[[[[]]]]]
5 [[[[[[]]]]]]
6 [[[[[[[]]]]]]]
7 [[[[[[[[]]]]]]]]
8 [[[[[[[[[]]]]]]]]]
9 [[[[]]]]  [[[]]]
10 [[[[[[]]]]]] [[[]]]
11 [[[[[[[]]]]]] [[[]]]]
12 [[[[[[[]]]]]]] [[[]]]
13 [[[[[[[[]]]]]]] [[[]]]]
14 [[[[[[[[]]]]]]]] [[[]]]
15 [[[[[[]]]]]] [[[[]]]]
16 [[[]]]   [[[[]]]]
17 [[[[]]]   [[[[]]]]]
18 [[[[[[[]]]]]]] [[[[]]]]
19 [[[[[[[[]]]]]]] [[[[]]]]]
20 [[[[[[]]]]]] [[[[[]]]]]
21 [[[[[[[[]]]]]]]] [[[[]]]]
22 [[[[[[[]]]]]] [[[]]]] [[[]]]
23 [[[[[[[[]]]]]] [[[]]]] [[[]]]]
24 [[[[[[[[[]]]]]]]]] [[[[]]]]
25 [[[[[[]]]]]]  [[[]]]
26 [[[[[[[[]]]]]]] [[[]]]] [[[]]]
27 [[[[]]]]   [[[]]]
28 [[[[[[[[]]]]]]]] [[[[[]]]]]
29 [[[[[[[[[]]]]]]]] [[[[[]]]]]]
30 [[[[[[[]]]]]]] [[[[[[]]]]]]
31 [[[[[[[[]]]]]]] [[[[[[]]]]]]]
32 [[[]]]  [[[[[[]]]]]]
33 [[[[[[[]]]]]] [[[]]]] [[[[]]]]
34 [[[[]]]   [[[[]]]]] [[[]]]
35 [[[[[[[[]]]]]]]] [[[[[[]]]]]]
36 [[[[[[[]]]]]]]  [[[]]]
37 [[[[[[[[]]]]]]]  [[[]]]]
38 [[[[[[[[]]]]]]] [[[[]]]]] [[[]]]
39 [[[[[[[[]]]]]]] [[[]]]] [[[[]]]]
40 [[[[[[]]]]]] [[[]]] [[[[[]]]]]
41 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]]
42 [[[[[[[[]]]]]]]] [[[[[[[]]]]]]]
43 [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]]
44 [[[[[[[]]]]]] [[[]]]] [[[[[]]]]]
45 [[[[]]]]  [[[]]] [[[[[[]]]]]]
46 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]
47 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]]
48 [[[[[[[[[]]]]]]]]] [[[[[[[]]]]]]]
49 [[[[[[[[]]]]]]]]  [[[]]]
50 [[[[[[]]]]]] [[[]]] [[[[[[]]]]]]
51 [[[[]]]   [[[[]]]]] [[[[]]]]
52 [[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]
53 [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]]
54 [[[[]]]]  [[[]]] [[[[[[[]]]]]]]
55 [[[[[[[]]]]]] [[[]]]] [[[[[[]]]]]]
56 [[[[[[[[[]]]]]]]]] [[[[[[[[]]]]]]]]
57 [[[[[[[[]]]]]]] [[[[]]]]] [[[[]]]]
58 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[]]]
59 [[[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[]]]]
60 [[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]
61 [[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]]
62 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[]]]
63 [[[[]]]]  [[[]]] [[[[[[[[]]]]]]]]
64 [[[[[]]]]]  [[[[]]]]
65 [[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]]
66 [[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]
67 [[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]]
68 [[[[]]]   [[[[]]]]] [[[[[]]]]]
69 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[]]]]
70 [[[[[[]]]]]] [[[]]] [[[[[[[[]]]]]]]]
71 [[[[[[[]]]]]] [[[]]] [[[[[[[[]]]]]]]]]
72 [[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]]]
73 [[[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]]]]
74 [[[[[[[[]]]]]]]  [[[]]]] [[[]]]
75 [[[[[[]]]]]] [[[[]]]] [[[[[[]]]]]]
76 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[]]]]]
77 [[[[[[[]]]]]] [[[]]]] [[[[[[[[]]]]]]]]
78 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]
79 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]]
80 [[[[[[]]]]]] [[[]]] [[[[[[[[[]]]]]]]]]
81 [[[[]]]]  [[[[[]]]]]
82 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]
83 [[[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]]
84 [[[[[[[[]]]]]]]] [[[]]] [[[[[[[]]]]]]]
85 [[[[]]]   [[[[]]]]] [[[[[[]]]]]]
86 [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[]]]
87 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[]]]]
88 [[[[[[[]]]]]] [[[]]]] [[[[[[[[[]]]]]]]]]
89 [[[[[[[[]]]]]] [[[]]]] [[[[[[[[[]]]]]]]]]]
90 [[[[[[]]]]]] [[[]]] [[[[]]]]  [[[]]]
91 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[[]]]]]]]]
92 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[]]]]]
93 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[]]]]
94 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]] [[[]]]
95 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[]]]]]]
96 [[[[[[[]]]]]]] [[[]]] [[[[[[[[[]]]]]]]]]
97 [[[[[[[[]]]]]]] [[[]]] [[[[[[[[[]]]]]]]]]]
98 [[[[[[[[]]]]]]]] [[[]]] [[[[[[[[]]]]]]]]
99 [[[[[[[]]]]]] [[[]]]] [[[[]]]]  [[[]]]
100 [[[[[[]]]]]] [[[]]]  [[[]]]
101 [[[[[[[]]]]]] [[[]]]  [[[]]]]
102 [[[[]]]   [[[[]]]]] [[[[[[[]]]]]]]
103 [[[[[]]]   [[[[]]]]] [[[[[[[]]]]]]]]
104 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[[[]]]]]]]]]
105 [[[[[[]]]]]] [[[[]]]] [[[[[[[[]]]]]]]]
106 [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[]]]
107 [[[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[]]]]
108 [[[[[[[]]]]]]] [[[]]] [[[[]]]]  [[[]]]
109 [[[[[[[[]]]]]]] [[[]]] [[[[]]]]  [[[]]]]
110 [[[[[[[]]]]]] [[[]]]] [[[[[[]]]]]] [[[]]]
111 [[[[[[[[]]]]]]]  [[[]]]] [[[[]]]]
112 [[[]]]   [[[[]]]] [[[[[[[[]]]]]]]]
113 [[[[]]]   [[[[]]]] [[[[[[[[]]]]]]]]]
114 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[]]]]]]]
115 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[]]]]]]
116 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[]]]]]
117 [[[[[[[[]]]]]]] [[[]]]] [[[[]]]]  [[[]]]
118 [[[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[]]]] [[[]]]
119 [[[[]]]   [[[[]]]]] [[[[[[[[]]]]]]]]
120 [[[[[[]]]]]] [[[[]]]] [[[[[[[[[]]]]]]]]]
121 [[[[[[[]]]]]] [[[]]]]  [[[]]]
122 [[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]] [[[]]]
123 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[[]]]]
124 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[[]]]]]
125 [[[[[[]]]]]]  [[[[]]]]
126 [[[[[[[[]]]]]]]] [[[]]] [[[[]]]]  [[[]]]
127 [[[[[[[[[]]]]]]]] [[[]]] [[[[]]]]  [[[]]]]
128 [[[]]]  [[[[[[[[]]]]]]]]
129 [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[]]]]
130 [[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]] [[[]]]
131 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]] [[[]]]]
132 [[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]] [[[]]]]
133 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[[]]]]]]]]
134 [[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[]]]
135 [[[[[[]]]]]] [[[[]]]] [[[[]]]]  [[[]]]
136 [[[[]]]   [[[[]]]]] [[[[[[[[[]]]]]]]]]
137 [[[[[]]]   [[[[]]]]] [[[[[[[[[]]]]]]]]]]
138 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[]]]]]]]
139 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[]]]]]]]]
140 [[[[[[[[]]]]]]]] [[[]]] [[[[[[]]]]]] [[[]]]
141 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]] [[[[]]]]
142 [[[[[[[]]]]]] [[[]]] [[[[[[[[]]]]]]]]] [[[]]]
143 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]] [[[]]]]
144 [[[[[[[]]]]]]] [[[]]]  [[[]]]
145 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[]]]]]]
146 [[[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]]]] [[[]]]
147 [[[[[[[[]]]]]]]] [[[[]]]] [[[[[[[[]]]]]]]]
148 [[[[[[[[]]]]]]]  [[[]]]] [[[[[]]]]]
149 [[[[[[[[[]]]]]]]  [[[]]]] [[[[[]]]]]]
150 [[[[[[]]]]]] [[[[]]]] [[[[[[]]]]]] [[[]]]
151 [[[[[[[]]]]]] [[[[]]]] [[[[[[]]]]]] [[[]]]]
152 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[[[]]]]]]]]]
153 [[[[]]]   [[[[]]]]] [[[[]]]]  [[[]]]
154 [[[[[[[[]]]]]]]] [[[]]] [[[[[[[]]]]]] [[[]]]]
155 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[[[]]]]]]
156 [[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]] [[[]]]
157 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]] [[[]]]]
158 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[]]]
159 [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[[]]]]
160 [[[]]]   [[[[]]]] [[[[[[]]]]]] [[[]]]
161 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[[]]]]]]]]
162 [[[[[[[]]]]]]] [[[[]]]] [[[[]]]]  [[[]]]
163 [[[[[[[[]]]]]]] [[[[]]]] [[[[]]]]  [[[]]]]
164 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[[[]]]]]
165 [[[[[[]]]]]] [[[[]]]] [[[[[[[]]]]]] [[[]]]]
166 [[[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]] [[[]]]
167 [[[[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]] [[[]]]]
168 [[[[[[[[]]]]]]]] [[[]]] [[[[[[[]]]]]]] [[[]]]
169 [[[[[[[[]]]]]]] [[[]]]]  [[[]]]
170 [[[[]]]   [[[[]]]]] [[[[[[]]]]]] [[[]]]
171 [[[[[[[[]]]]]]] [[[[]]]]] [[[[]]]]  [[[]]]
172 [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[]]]]]
173 [[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[]]]]]]
174 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[[]]]]]]]
175 [[[[[[]]]]]]  [[[]]] [[[[[[[[]]]]]]]]
176 [[[]]]   [[[[]]]] [[[[[[[]]]]]] [[[]]]]
177 [[[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[]]]] [[[[]]]]
178 [[[[[[[[]]]]]] [[[]]]] [[[[[[[[[]]]]]]]]]] [[[]]]
179 [[[[[[[[[]]]]]] [[[]]]] [[[[[[[[[]]]]]]]]]] [[[]]]]
180 [[[[[[]]]]]] [[[[[]]]]] [[[[]]]]  [[[]]]
181 [[[[[[[]]]]]] [[[[[]]]]] [[[[]]]]  [[[]]]]
182 [[[[[[[[]]]]]]]] [[[]]] [[[[[[[[]]]]]]] [[[]]]]
183 [[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]] [[[[]]]]
184 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[[[]]]]]]]]]
185 [[[[[[[[]]]]]]]  [[[]]]] [[[[[[]]]]]]
186 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[[[[]]]]]]]
187 [[[[]]]   [[[[]]]]] [[[[[[[]]]]]] [[[]]]]
188 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]] [[[[[]]]]]
189 [[[[[[[[]]]]]]]] [[[[]]]] [[[[]]]]  [[[]]]
190 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[]]]]]] [[[]]]
191 [[[[[[[[[]]]]]]] [[[[]]]]] [[[[[[]]]]]] [[[]]]]
192 [[[]]]   [[[[]]]] [[[[[[[]]]]]]] [[[]]]
193 [[[[]]]   [[[[]]]] [[[[[[[]]]]]]] [[[]]]]
194 [[[[[[[[]]]]]]] [[[]]] [[[[[[[[[]]]]]]]]]] [[[]]]
195 [[[[[[]]]]]] [[[[]]]] [[[[[[[[]]]]]]] [[[]]]]
196 [[[[[[[[]]]]]]]] [[[]]]  [[[]]]
197 [[[[[[[[[]]]]]]]] [[[]]]  [[[]]]]
198 [[[[[[[]]]]]]] [[[[]]]] [[[[[[[]]]]]] [[[]]]]
199 [[[[[[[[]]]]]]] [[[[]]]] [[[[[[[]]]]]] [[[]]]]]
200 [[[[[[]]]]]] [[[[[]]]]] [[[[[[]]]]]] [[[]]]
201 [[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[[]]]]
202 [[[[[[[]]]]]] [[[]]]  [[[]]]] [[[]]]
203 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[[[]]]]]]]]
204 [[[[]]]   [[[[]]]]] [[[[[[[]]]]]]] [[[]]]
205 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[[[[]]]]]]
206 [[[[[]]]   [[[[]]]]] [[[[[[[]]]]]]]] [[[]]]
207 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[]]]]  [[[]]]
208 [[[]]]   [[[[]]]] [[[[[[[[]]]]]]] [[[]]]]
209 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[]]]]]] [[[]]]]
210 [[[[[[]]]]]] [[[[]]]] [[[[[[[[]]]]]]]] [[[]]]
211 [[[[[[[]]]]]] [[[[]]]] [[[[[[[[]]]]]]]] [[[]]]]
212 [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[[[]]]]]
213 [[[[[[[]]]]]] [[[]]] [[[[[[[[]]]]]]]]] [[[[]]]]
214 [[[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[]]]] [[[]]]
215 [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[]]]]]]
216 [[[[[[[]]]]]]]  [[[[]]]]
217 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[[[[[]]]]]]]]
218 [[[[[[[[]]]]]]] [[[]]] [[[[]]]]  [[[]]]] [[[]]]
219 [[[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]]]] [[[[]]]]
220 [[[[[[[]]]]]] [[[]]]] [[[]]] [[[[[[]]]]]] [[[]]]
221 [[[[]]]   [[[[]]]]] [[[[[[[[]]]]]]] [[[]]]]
222 [[[[[[[[]]]]]]]  [[[]]]] [[[[[[[]]]]]]]
223 [[[[[[[[[]]]]]]]  [[[]]]] [[[[[[[]]]]]]]]
224 [[[]]]   [[[[]]]] [[[[[[[[]]]]]]]] [[[]]]
225 [[[[[[]]]]]] [[[[]]]]  [[[]]]
226 [[[[]]]   [[[[]]]] [[[[[[[[]]]]]]]]] [[[]]]
227 [[[[[]]]   [[[[]]]] [[[[[[[[]]]]]]]]] [[[]]]]
228 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[]]]]]]] [[[]]]
229 [[[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[]]]]]]] [[[]]]]
230 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[]]]]]] [[[]]]
231 [[[[[[[[]]]]]]]] [[[[]]]] [[[[[[[]]]]]] [[[]]]]
232 [[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[[[[]]]]]]]]]
233 [[[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[[[[]]]]]]]]]]
234 [[[[[[[]]]]]]] [[[[]]]] [[[[[[[[]]]]]]] [[[]]]]
235 [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[]]]] [[[[[[]]]]]]
236 [[[[[[[[[[]]]]]]]] [[[[[]]]]]] [[[]]]] [[[[[]]]]]
237 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[[]]]]
238 [[[[]]]   [[[[]]]]] [[[[[[[[]]]]]]]] [[[]]]
239 [[[[[]]]   [[[[]]]]] [[[[[[[[]]]]]]]] [[[]]]]
240 [[[[[[]]]]]] [[[[[]]]]] [[[[[[[]]]]]]] [[[]]]
241 [[[[[[[]]]]]] [[[[[]]]]] [[[[[[[]]]]]]] [[[]]]]
242 [[[[[[[]]]]]] [[[]]]] [[[]]] [[[[[[[]]]]]] [[[]]]]
243 [[[[]]]]  [[[[[[]]]]]]
244 [[[[[[[[]]]]]]] [[[]]] [[[[[[]]]]]]] [[[[[]]]]]
245 [[[[[[[[]]]]]]]] [[[[[[]]]]]] [[[[[[[[]]]]]]]]
246 [[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[[[[[]]]]]]]
247 [[[[[[[[]]]]]]] [[[[]]]]] [[[[[[[[]]]]]]] [[[]]]]
248 [[[[[[[[]]]]]]] [[[[[[]]]]]]] [[[[[[[[[]]]]]]]]]
249 [[[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]] [[[[]]]]
250 [[[[[[]]]]]]  [[[]]] [[[[[[]]]]]] [[[]]]
251 [[[[[[[]]]]]]  [[[]]] [[[[[[]]]]]] [[[]]]]
252 [[[[[[[[]]]]]]]] [[[[]]]] [[[[[[[]]]]]]] [[[]]]
253 [[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[]]]]]] [[[]]]]
254 [[[[[[[[[]]]]]]]] [[[]]] [[[[]]]]  [[[]]]] [[[]]]
255 [[[[]]]   [[[[]]]]] [[[[[[]]]]]] [[[[]]]]
256 [[[[[]]]]]   [[[]]]
8191 [[[[[[[[[]]]]]]] [[[]]]] [[[[[[[[]]]]]]]] [[[[[[]]]]]] [[[]]] [[[[]]]] [[[[]]]]]
13071 [[[[[[[[[[[]]]]]]] [[[[]]]] [[[[]]]]  [[[]]]] [[[[[]]]]]] [[[]]]] [[[[[[]]]]]] [[[]]]]
524287 [[[[[[[[[]]]]]]] [[[[]]]]] [[[]]] [[[[[[[[]]]]]]]] [[[[]]]] [[[[[[[[]]]]]]] [[[]]] [[[[[[[]]]]]]]] [[[[]]]] [[[[]]]]]
2147483647 [[[[[[[[[[[]]]]]]]]] [[[[]]]] [[[[[[[[]]]]]]]] [[[]]]] [[[[]]]] [[[[[[[[[]]]]]]] [[[]]]] [[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]][[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[[]]]]]]] [[[[[[]]]]]]  [[[[]]]]]
1449565302 [[[[[[[[[[[[[]]]]]]]] [[[]]] [[[[]]]]  [[[]]]] [[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[[[]]]]]] [[[]]]] [[[]]]] [[[[[[[]]]]]]]] [[[[[[]]]]]] [[[]]][[[[[[[[]]]]]]] [[[]]]] [[[[]]]] [[[[[[[[[]]]]]]]] [[[[[]]]]]]  [[[[]]]]]
1746268229 [[[[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[[]]]  [[[[[]]]]]] [[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[[[]]]]]]] [[[[]]]]]][[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[[[]]]]]]]] [[[[[]]]]]  [[[[]]]]]
126528612 [[[[[[[[[[[]]]]]] [[[]]]] [[[[[[[]]]]]]]] [[[[[]]]]]] [[[[[[[]]]]]]] [[[]]]] [[[[[[[[]]]]]]]][[[[[[[]]]]]]  [[[]]] [[[[[[]]]]]] [[[]]]] [[[]]]  [[[[]]]]]
778085967 [[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]] [[[[[[[[]]]]]]] [[[]]]] [[[]]]] [[[[[[[[[]]]]]]] [[[]]]] [[[[[]]]]]] [[[[[[]]]]]][[[[[[[[[]]]]]] [[[]]] [[[[[]]]]]] [[[]]]] [[[]]]]  [[[[[]]]]]]
1553783038 [[[[[[[[[]]]]]]] [[[]]]] [[[[]]]] [[[[[[]]]]]]  [[[]]] [[[[[[[[[]]]]]]] [[[]]] [[[[[[[[[]]]]]]]]]] [[[[[[]]]]]] [[[]]]][[[[]]]   [[[[]]]] [[[[[[[]]]]]]] [[[]]]] [[[[[[[]]]]]]]  [[[[]]]]]
997599288 [[[[[[[[]]]]]] [[[]]]] [[[[[[[[]]]]]]]] [[[[[[[]]]]]] [[[]]]] [[[]]]  [[[[[[]]]]]] [[[[[[[]]]]]] [[[]]]] [[[]]][[[[[[[[]]]]]]]  [[[]]]] [[[[]]]]  [[[[]]]]  [[[[]]]]]
Sparr
la source
7

Mathematica

Remarque: Cet algorithme ne pourra jamais se rapprocher des plus grands nombres de tests. J'aurais besoin d'une approche substantiellement différente, je vais donc laisser les choses telles quelles pour que les autres vérifient leurs chiffres inférieurs. Vous pouvez considérer cette soumission comme non valide.

Voici un début pour les 256 premiers numéros (les autres ont été ajoutés après que j'ai commencé, et j'ai probablement besoin de trouver une solution distincte pour ceux-ci)

1=[[]]
2=[[[]]]
3=[[[[]]]]
4=[[[[[]]]]]
5=[[[[[[]]]]]]
6=[[[[[[[]]]]]]]
7=[[[[[[[[]]]]]]]]
8=[[[]]]  [[[[]]]]
9=[[[[]]]]  [[[]]]
10=[[[[[]]]]  [[[]]]]
11=[[[[[[]]]]  [[[]]]]]
12=[[[[[]]]]] [[[[]]]]
13=[[[[[[]]]]] [[[[]]]]]
14=[[[[[[[]]]]] [[[[]]]]]]
15=[[[[[[]]]]]] [[[[]]]]
16=[[[]]]   [[[[]]]]
17=[[[[]]]   [[[[]]]]]
18=[[[[[]]]   [[[[]]]]]]
19=[[[[[[]]]   [[[[]]]]]]]
20=[[[[[[]]]]]] [[[[[]]]]]
21=[[[[[[[]]]]]] [[[[[]]]]]]
22=[[[[[[[[]]]]]] [[[[[]]]]]]]
23=[[[[[[[[[]]]]]] [[[[[]]]]]]]]
24=[[[[[[[]]]]]]] [[[[[]]]]]
25=[[[[[[]]]]]]  [[[]]]
26=[[[[[[[]]]]]]  [[[]]]]
27=[[[[]]]]   [[[]]]
28=[[[[[]]]]   [[[]]]]
29=[[[[[[]]]]   [[[]]]]]
30=[[[[[[[]]]]   [[[]]]]]]
31=[[[[[[[[]]]]   [[[]]]]]]]
32=[[[]]]  [[[[[[]]]]]]
33=[[[[]]]  [[[[[[]]]]]]]
34=[[[[[]]]  [[[[[[]]]]]]]]
35=[[[[[[]]]  [[[[[[]]]]]]]]]
36=[[[[[[[]]]]]]]  [[[]]]
37=[[[[[[[[]]]]]]]  [[[]]]]
38=[[[[[[[[[]]]]]]]  [[[]]]]]
39=[[[[[[[[[[]]]]]]]  [[[]]]]]]
40=[[[]]]  [[[[]]]] [[[[[[]]]]]]
41=[[[[]]]  [[[[]]]] [[[[[[]]]]]]]
42=[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]
43=[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]]
44=[[[[[[]]]]  [[[]]]]] [[[[[]]]]]
45=[[[[]]]]  [[[]]] [[[[[[]]]]]]
46=[[[[[]]]]  [[[]]] [[[[[[]]]]]]]
47=[[[[[[]]]]  [[[]]] [[[[[[]]]]]]]]
48=[[[]]]   [[[[]]]] [[[[]]]]
49=[[[[[[[[]]]]]]]]  [[[]]]
50=[[[[[[[[[]]]]]]]]  [[[]]]]
51=[[[[[[[[[[]]]]]]]]  [[[]]]]]
52=[[[[[[[]]]]]]  [[[]]]] [[[]]]
53=[[[[[[[[]]]]]]  [[[]]]] [[[]]]]
54=[[[[]]]]   [[[]]] [[[]]]
55=[[[[[]]]]   [[[]]] [[[]]]]
56=[[[[[]]]]   [[[]]]] [[[]]]
57=[[[[[[]]]]   [[[]]]] [[[]]]]
58=[[[[[[]]]]   [[[]]]]] [[[]]]
59=[[[[[[[]]]]   [[[]]]]] [[[]]]]
60=[[[[[[[]]]]   [[[]]]]]] [[[]]]
61=[[[[[[[[]]]]   [[[]]]]]] [[[]]]]
62=[[[[[[[[]]]]   [[[]]]]]]] [[[]]]
63=[[[[]]]]  [[[]]] [[[[[[[[]]]]]]]]
64=[[[[[]]]]]  [[[[]]]]
65=[[[[[[]]]]]  [[[[]]]]]
66=[[[[[[[]]]]]  [[[[]]]]]]
67=[[[[[[[[]]]]]  [[[[]]]]]]]
68=[[[[[[[[[]]]]]  [[[[]]]]]]]]
69=[[[[[[[[[[]]]]]  [[[[]]]]]]]]]
70=[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]
71=[[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]]
72=[[[[[[[]]]]]]]  [[[]]] [[[]]]
73=[[[[[[[[]]]]]]]  [[[]]] [[[]]]]
74=[[[[[[[[]]]]]]]  [[[]]]] [[[]]]
75=[[[[[[]]]]]]  [[[]]] [[[[]]]]
76=[[[[[[[]]]]]]  [[[]]] [[[[]]]]]
77=[[[[[[[[]]]]]]  [[[]]] [[[[]]]]]]
78=[[[[[[[]]]]]]  [[[]]]] [[[[]]]]
79=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]]
80=[[[]]]   [[[[]]]] [[[[[[]]]]]]
81=[[[[]]]]  [[[[[]]]]]
82=[[[[[]]]]  [[[[[]]]]]]
83=[[[[[[]]]]  [[[[[]]]]]]]
84=[[[[[[[]]]]  [[[[[]]]]]]]]
85=[[[[[[[[]]]]  [[[[[]]]]]]]]]
86=[[[[[[[[[]]]]  [[[[[]]]]]]]]]]
87=[[[[[[]]]]   [[[]]]]] [[[[]]]]
88=[[[[[[[]]]]   [[[]]]]] [[[[]]]]]
89=[[[[[[[[]]]]   [[[]]]]] [[[[]]]]]]
90=[[[[[[[]]]]   [[[]]]]]] [[[[]]]]
91=[[[[[[[[]]]]   [[[]]]]]] [[[[]]]]]
92=[[[[[[[[[]]]]   [[[]]]]]] [[[[]]]]]]
93=[[[[[[[[]]]]   [[[]]]]]]] [[[[]]]]
94=[[[[[[[[[]]]]   [[[]]]]]]] [[[[]]]]]
95=[[[[[[]]]   [[[[]]]]]]] [[[[[[]]]]]]
96=[[[]]]  [[[[[[]]]]]] [[[[]]]]
97=[[[[]]]  [[[[[[]]]]]] [[[[]]]]]
98=[[[[[[[[]]]]]]]]  [[[]]] [[[]]]
99=[[[[]]]  [[[[[[]]]]]]] [[[[]]]]
100=[[[[[]]]]  [[[]]]]  [[[]]]
101=[[[[[[]]]]  [[[]]]]  [[[]]]]
102=[[[[[[[]]]]  [[[]]]]  [[[]]]]]
103=[[[[[[[[]]]]  [[[]]]]  [[[]]]]]]
104=[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]
105=[[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]]
106=[[[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]]]
107=[[[[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]]]]
108=[[[[]]]]   [[[]]] [[[[[]]]]]
109=[[[[[]]]]   [[[]]] [[[[[]]]]]]
110=[[[[[[]]]]   [[[]]] [[[[[]]]]]]]
111=[[[[[[[[]]]]]]]  [[[]]]] [[[[]]]]
112=[[[[[]]]]   [[[]]]] [[[[[]]]]]
113=[[[[[[]]]]   [[[]]]] [[[[[]]]]]]
114=[[[[[[[]]]]   [[[]]]] [[[[[]]]]]]]
115=[[[[[[[[]]]]   [[[]]]] [[[[[]]]]]]]]
116=[[[[[[]]]]   [[[]]]]] [[[[[]]]]]
117=[[[[[[[]]]]   [[[]]]]] [[[[[]]]]]]
118=[[[[[[[[]]]]   [[[]]]]] [[[[[]]]]]]]
119=[[[[]]]   [[[[]]]]] [[[[[[[[]]]]]]]]
120=[[[[[[[]]]]   [[[]]]]]] [[[[[]]]]]
121=[[[[[[]]]]  [[[]]]]]  [[[]]]
122=[[[[[[[]]]]  [[[]]]]]  [[[]]]]
123=[[[[[[[[]]]]  [[[]]]]]  [[[]]]]]
124=[[[[[[[[[]]]]  [[[]]]]]  [[[]]]]]]
125=[[[[[[]]]]]]  [[[[]]]]
126=[[[[[[[]]]]]]  [[[[]]]]]
127=[[[[[[[[]]]]]]  [[[[]]]]]]
128=[[[]]]  [[[[[[[[]]]]]]]]
129=[[[[]]]  [[[[[[[[]]]]]]]]]
130=[[[[[]]]  [[[[[[[[]]]]]]]]]]
131=[[[[[[]]]  [[[[[[[[]]]]]]]]]]]
132=[[[[[[[]]]]]  [[[[]]]]]] [[[]]]
133=[[[[[[[[]]]]]  [[[[]]]]]] [[[]]]]
134=[[[[[[[[]]]]]  [[[[]]]]]]] [[[]]]
135=[[[[]]]]   [[[]]] [[[[[[]]]]]]
136=[[[[[]]]]   [[[]]] [[[[[[]]]]]]]
137=[[[[[[]]]]   [[[]]] [[[[[[]]]]]]]]
138=[[[[[[[]]]]   [[[]]] [[[[[[]]]]]]]]]
139=[[[[[[[[]]]]   [[[]]] [[[[[[]]]]]]]]]]
140=[[[[[]]]]   [[[]]]] [[[[[[]]]]]]
141=[[[[[[]]]]   [[[]]]] [[[[[[]]]]]]]
142=[[[[[[[]]]]   [[[]]]] [[[[[[]]]]]]]]
143=[[[[[[[[]]]]   [[[]]]] [[[[[[]]]]]]]]]
144=[[[[[[[]]]]]]]  [[[]]] [[[[[]]]]]
145=[[[[[[]]]]   [[[]]]]] [[[[[[]]]]]]
146=[[[[[[[]]]]   [[[]]]]] [[[[[[]]]]]]]
147=[[[[[[[[]]]]]]]]  [[[]]] [[[[]]]]
148=[[[[[[[[[]]]]]]]]  [[[]]] [[[[]]]]]
149=[[[[[[[[[[]]]]]]]]  [[[]]] [[[[]]]]]]
150=[[[[[[]]]]]]  [[[]]] [[[[[[[]]]]]]]
151=[[[[[[[]]]]]]  [[[]]] [[[[[[[]]]]]]]]
152=[[[[[[[[[]]]]]]]  [[[]]]]] [[[[[]]]]]
153=[[[[]]]   [[[[]]]]] [[[[]]]]  [[[]]]
154=[[[[[]]]   [[[[]]]]] [[[[]]]]  [[[]]]]
155=[[[[[[[[]]]]   [[[]]]]]]] [[[[[[]]]]]]
156=[[[[[[[]]]]]]  [[[]]]] [[[[[[[]]]]]]]
157=[[[[[[[[]]]]]]  [[[]]]] [[[[[[[]]]]]]]]
158=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]] [[[]]]
159=[[[[[[[[]]]]]]  [[[]]]] [[[]]]] [[[[]]]]
160=[[[]]]  [[[[[[]]]]]] [[[[[[]]]]]]
161=[[[[]]]  [[[[[[]]]]]] [[[[[[]]]]]]]
162=[[[[]]]]  [[[[[]]]]] [[[]]]
163=[[[[[]]]]  [[[[[]]]]] [[[]]]]
164=[[[[[]]]]  [[[[[]]]]]] [[[]]]
165=[[[[[[]]]]  [[[[[]]]]]] [[[]]]]
166=[[[[[[]]]]  [[[[[]]]]]]] [[[]]]
167=[[[[[[[]]]]  [[[[[]]]]]]] [[[]]]]
168=[[[[[[[]]]]  [[[[[]]]]]]]] [[[]]]
169=[[[[[[]]]]] [[[[]]]]]  [[[]]]
170=[[[[[[[]]]]] [[[[]]]]]  [[[]]]]
171=[[[[[[[[]]]]] [[[[]]]]]  [[[]]]]]
172=[[[[[[[[[]]]]] [[[[]]]]]  [[[]]]]]]
173=[[[[[[[[[[]]]]] [[[[]]]]]  [[[]]]]]]]
174=[[[[[[]]]]   [[[]]]]] [[[[[[[]]]]]]]
175=[[[[[[]]]]]]  [[[]]] [[[[[[[[]]]]]]]]
176=[[[]]]   [[[[]]]] [[[[[[]]]]  [[[]]]]]
177=[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[]]]]
178=[[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[]]]]]
179=[[[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[]]]]]]
180=[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]
181=[[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]]
182=[[[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]]]
183=[[[[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]]]]
184=[[[[[]]]]  [[[]]] [[[[[[]]]]]]] [[[[[]]]]]
185=[[[[[[[[]]]]]]]  [[[]]]] [[[[[[]]]]]]
186=[[[[[[[[[]]]]]]]  [[[]]]] [[[[[[]]]]]]]
187=[[[[]]]   [[[[]]]]] [[[[[[]]]]  [[[]]]]]
188=[[[[[]]]   [[[[]]]]] [[[[[[]]]]  [[[]]]]]]
189=[[[[]]]]   [[[]]] [[[[[[[[]]]]]]]]
190=[[[[[]]]]   [[[]]] [[[[[[[[]]]]]]]]]
191=[[[[[[]]]]   [[[]]] [[[[[[[[]]]]]]]]]]
192=[[[[[]]]]]  [[[[]]]] [[[[]]]]
193=[[[[[[]]]]]  [[[[]]]] [[[[]]]]]
194=[[[[[[[]]]]]  [[[[]]]] [[[[]]]]]]
195=[[[[[[]]]]]  [[[[]]]]] [[[[]]]]
196=[[[[[[[]]]]] [[[[]]]]]]  [[[]]]
197=[[[[[[[[]]]]] [[[[]]]]]]  [[[]]]]
198=[[[[[[[]]]]]  [[[[]]]]]] [[[[]]]]
199=[[[[[[[[]]]]]  [[[[]]]]]] [[[[]]]]]
200=[[[[[]]]]  [[[]]]]  [[[]]] [[[]]]
201=[[[[[[]]]]  [[[]]]]  [[[]]] [[[]]]]
202=[[[[[[]]]]  [[[]]]]  [[[]]]] [[[]]]
203=[[[[[[[]]]]  [[[]]]]  [[[]]]] [[[]]]]
204=[[[[[[[[[]]]]]  [[[[]]]]]]]] [[[[]]]]
205=[[[[[[[[[[]]]]]  [[[[]]]]]]]] [[[[]]]]]
206=[[[[[[[[]]]]  [[[]]]]  [[[]]]]]] [[[]]]
207=[[[[[[[[[[]]]]]  [[[[]]]]]]]]] [[[[]]]]
208=[[[]]]   [[[[]]]] [[[[[[]]]]] [[[[]]]]]
209=[[[[]]]   [[[[]]]] [[[[[[]]]]] [[[[]]]]]]
210=[[[[[[[]]]]   [[[]]]]]] [[[[[[[[]]]]]]]]
211=[[[[[[[[]]]]   [[[]]]]]] [[[[[[[[]]]]]]]]]
212=[[[[[[[[]]]]]]  [[[]]]] [[[]]]] [[[[[]]]]]
213=[[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]] [[[[]]]]
214=[[[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]] [[[[]]]]]
215=[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[]]]]]]
216=[[[[[[[]]]]]]]  [[[[]]]]
217=[[[[[[[[]]]]]]]  [[[[]]]]]
218=[[[[[[[[[]]]]]]]  [[[[]]]]]]
219=[[[[[[[[[[]]]]]]]  [[[[]]]]]]]
220=[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]
221=[[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]]
222=[[[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]]]
223=[[[[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]]]]
224=[[[[[]]]]   [[[]]]] [[[]]]  [[[[]]]]
225=[[[[[[]]]]]]  [[[]]] [[[[]]]]  [[[]]]
226=[[[[[[[]]]]]]  [[[]]] [[[[]]]]  [[[]]]]
227=[[[[[[[[]]]]]]  [[[]]] [[[[]]]]  [[[]]]]]
228=[[[[[[]]]]   [[[]]]] [[[]]]] [[[[[]]]]]
229=[[[[[[[]]]]   [[[]]]] [[[]]]] [[[[[]]]]]]
230=[[[[[[[[]]]]   [[[]]]] [[[]]]] [[[[[]]]]]]]
231=[[[[]]]  [[[[[[]]]]]]] [[[[[[[[]]]]]]]]
232=[[[[[[]]]]   [[[]]]]] [[[]]]  [[[[]]]]
233=[[[[[[[]]]]   [[[]]]]] [[[]]]  [[[[]]]]]
234=[[[[[[[]]]]]]  [[[]]]] [[[[]]]]  [[[]]]
235=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]  [[[]]]]
236=[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[[]]]]]
237=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]] [[[[]]]]
238=[[[[[]]]  [[[[[[]]]]]]]] [[[[[[[[]]]]]]]]
239=[[[[[[]]]  [[[[[[]]]]]]]] [[[[[[[[]]]]]]]]]
240=[[[]]]   [[[[]]]] [[[[[[]]]]]] [[[[]]]]
241=[[[[]]]   [[[[]]]] [[[[[[]]]]]] [[[[]]]]]
242=[[[[[[]]]]  [[[]]]]]  [[[]]] [[[]]]
243=[[[[]]]]  [[[[[[]]]]]]
244=[[[[[]]]]  [[[[[[]]]]]]]
245=[[[[[[]]]]  [[[[[[]]]]]]]]
246=[[[[[[[]]]]  [[[[[[]]]]]]]]]
247=[[[[[[[[]]]]  [[[[[[]]]]]]]]]]
248=[[[[[[[[[]]]]  [[[[[[]]]]]]]]]]]
249=[[[[[[]]]]  [[[[[]]]]]]] [[[[]]]]
250=[[[[[[]]]]]]  [[[[]]]] [[[]]]
251=[[[[[[[]]]]]]  [[[[]]]] [[[]]]]
252=[[[[[[[]]]]]]  [[[[]]]]] [[[]]]
253=[[[[[[[[]]]]]]  [[[[]]]]] [[[]]]]
254=[[[[[[[[]]]]]]  [[[[]]]]]] [[[]]]
255=[[[[[[[[[]]]]]]  [[[[]]]]]] [[[]]]]
256=[[[[[]]]]]   [[[]]]

La longueur totale des 256 premiers chiffres est de 7963 caractères. Je ne sais pas si c'est optimal.

En ignorant l'ajout, les résultats pour 8191 et 13071 ont été trouvés en quelques secondes et 524387 en quelques minutes comme

8191=[[[[[[[[]]]]]]  [[[[]]]]] [[[[[[]]]]]  [[[[]]]]]]
13071=[[[[[[[[]]]]]  [[[[]]]]]]  [[[]]]] [[[[]]]]
524387=[[[[[[[[]]]]]  [[[[]]]]] [[[[[]]]]]  [[[[]]]]] [[[[[[[]]]]]]  [[[[]]]]]]

à 164 caractères ensemble.

Voici le code:

ClearAll[repr, sl, i, j, op, re, frontop, rearop, lastop];
repr[n_] = "";
repr[0] = "[]";
(*Hard-code higher-order solutions*)
repr[65536] = "[[[]]]    [[[[]]]]";
repr[16] = "[[[]]]   [[[[]]]]";
repr[27] = "[[[[]]]]   [[[]]]";
repr[256] = "[[[[[]]]]]   [[[]]]";
repr[3125] = "[[[[[[]]]]]]   [[[]]]";
repr[46656] = "[[[[[[[]]]]]]]   [[[]]]";
repr[823543] = "[[[[[[[[]]]]]]]]   [[[]]]";
repr[16777216] = "[[[[[[[[[]]]]]]]]]   [[[]]]";
repr[387420489] = "[[[[[[[[[[]]]]]]]]]]   [[[]]]";
frontop[n_] = 2;
rearop[n_] = 2;
sl[n_] := If[repr[n] == "", Infinity, StringLength@repr@n];
n = 256;
op[0] := (# + #2) &
op[1] := (#*#2) &
op[2] := (#^#2) &
re[0] := (repr@# <> repr@#2) &
re[1] := (repr@# <> " " <> repr@#2) &
re[2] := (repr@# <> "  " <> repr@#2) &
For[i = 0, i < n, ++i,
  If[sl[i + 1] >= sl[i] + 2,
   repr[i + 1] = "[" <> repr[i] <> "]";
   frontop[i + 1] = 2; rearop[i + 1] = 2
   ];
  For[m = 0, m < 3, ++m,
   If[rearop[i] >= m,
    For[j = 1, j <= i, ++j,
     If[frontop[j] < m || (res = op[m][i, j]) > n, Break[]];
     rep = re[m][i, j];
     If[sl[res] > StringLength@rep ||
       sl[res] == StringLength@rep && m > frontop[res],
      repr[res] = rep;
      If[m == 2,
       frontop[res] = 2; rearop[res] = 1,
       frontop[res] = m;
       rearop[res] = m
       ]
      ]
     ]
    ];
   If[frontop[i] >= m,
    For[j = 1, j <= i, ++j,
     If[rearop[j] < m || (res = op[m][j, i]) > n, Break[]];
     rep = re[m][j, i];
     If[sl[res] > StringLength@rep ||
       sl[res] == StringLength@rep && m > frontop[res],
      repr[res] = rep;
      If[m == 2,
       frontop[res] = 2; rearop[res] = 1,
       frontop[res] = m;
       rearop[res] = m
       ]
      ]
     ]
    ]
   ];
  ];

J'ai utilisé une recherche exhaustive jusqu'à l'exponentiation. Il n'y a pas de tétration ou d'opérations d'ordre supérieur. J'ai juste essayé les opérations d'ordre supérieur manuellement, et il n'y a qu'une poignée de combinaisons qui donnent en fait des nombres inférieurs à 2 31 , donc j'ai juste codé en dur celles qui fonctionnent.

Edit: Ma solution précédente ne s'est pas souciée de la priorité, elle a simplement mis les choses ensemble. Maintenant, je pense que mon nouveau code corrige cela, mais aucun des 256 premiers numéros n'a changé, ni 8191 (qui était valide avant, j'ai vérifié) ... et il est trop tard pour moi de dire maintenant si mon code l'a réellement corrigé . J'aurai un autre regard demain et ajouterai également une explication, car maintenant avec la vérification de la priorité, c'est un peu compliqué (j'espère que cela devrait réduire le temps de recherche cependant).

Edit: D'accord, il y avait quelques bugs comme prévu. Je pense que je l'ai corrigé maintenant, augmentant la longueur totale pour 1 - 256 à 7963 . Je ne suis pas sûr que cela soit optimal plus longtemps, car il pourrait être possible de trouver des solutions plus courtes à partir de pièces sous-optimales si elles permettent des opérations d'ordre supérieur. Une explication suivra lorsque j'arriverai à nettoyer un peu le code.

Martin Ender
la source
2
Désolé de continuer à changer les choses sur vous, mais j'ai mis à jour le format de liste pour quelque chose de plus lisible. Dernier gros changement je le jure!
Calvin's Hobbies
1
Il semble également que vous manquiez 256.
Calvin's Hobbies
1
@ Calvin'sHobbies Correction et ajout d'une tétration. Je pense avoir résolu la plage de 1 à 256 de manière optimale.
Martin Ender
votre 1-256 semble être 8181 caractères avec une nouvelle ligne ou un point-virgule entre chacun. beau travail, dans l'ensemble!
Sparr
Votre 16 semble sous-optimal. Vous exprimez 16 en 4 ^ 2, ce qui fait 18 caractères, alors qu'avec 2 ^^ 3, ce serait 17 caractères.
isaacg
1

Python 9219b

Ceci est ma deuxième entrée. Je suis parti de zéro et j'ai essayé un nouvel arrangement des données, y compris en utilisant le package blist pour les listes triées et les dictés, et quelques nouvelles approches pour trouver de grandes solutions. Je pense que j'ai un 1-256 optimal. L'augmentation du temps d'exécution de 30 s à 4 m a raccourci les gros cas de test d'environ 30 octets.

# https://pypi.python.org/pypi/blist/
# provides sorteddict
from blist import *

import math, sys

TABLE_SIZE=2**8
MAX_INT = 2**31

repr = sorteddict()

for i in range(12):
    repr[i] = sorteddict({(i*2+2,-1,-1):("["*(i+1)+"]"*(i+1), str(i))});

repr    [65536] = sorteddict({(18, 4, 4):("[[[]]]    [[[[]]]]", "2^^^3")}); # 2^^^3 = 2^^(2^^2) = 2^(2^(2^2))
repr       [16] = sorteddict({(17, 3, 3):("[[[]]]   [[[[]]]]", "2^^3")}); # 2^^3 = 2^(2^2)
repr       [27] = sorteddict({(17, 3, 3):("[[[[]]]]   [[[]]]", "3^^2")}); # 3^^2 = 3^3
repr      [256] = sorteddict({(19, 3, 3):("[[[[[]]]]]   [[[]]]", "4^^2")}); # 4^^2 = 4^4
repr     [3125] = sorteddict({(21, 3, 3):("[[[[[[]]]]]]   [[[]]]", "5^^2")}); # 5^^2 = 5^5
repr    [46656] = sorteddict({(23, 3, 3):("[[[[[[[]]]]]]]   [[[]]]", "6^^2")}); # 6^^2 = 6^6
repr   [823543] = sorteddict({(25, 3, 3):("[[[[[[[[]]]]]]]]   [[[]]]", "7^^2")}); # 7^^2 = 7^7
repr [16777216] = sorteddict({(27, 3, 3):("[[[[[[[[[]]]]]]]]]   [[[]]]", "8^^2")}); # 8^^2 = 8^8
repr[387420489] = sorteddict({(29, 3, 3):("[[[[[[[[[[]]]]]]]]]]   [[[]]]", "9^^2")}); # 9^^2 = 9^9

def expr_to_repr(a,op,b):
    rep_a = None
    for d,r in repr[a].iteritems():
        op_min, op_max = ((0,9),(1,9),(3,9))[op]
        if (d[1]==-1 or d[1]>=op_min) and d[2]<=op_max:
            rep_a = (d,r)
            break
    if not rep_a:
        rep_a = ((a*2+2,-1,-1),("["*(a+1)+"]"*(a+1), str(a)));

    rep_b = None
    for d,r in repr[b].iteritems():
        op_min, op_max = ((0,9),(1,9),(3,9))[op]
        if (d[1]==-1 or d[1]>=op_min) and d[2]<=op_max:
            rep_b = (d,r)
            break
    if not rep_b:
        rep_b = ((b*2+2,-1,-1),("["*(b+1)+"]"*(b+1), str(b)));

    r = rep_a[1][0] + " "*op + rep_b[1][0]

    return (
            (
                len(r),
                min(op, rep_a[0][1] if rep_a[0][1]!=-1 else op, rep_b[0][1] if rep_b[0][1]!=-1 else op), 
                max(op, rep_a[0][2], rep_b[0][2])
            ),
            ( 
                r, 
                expr_to_string(rep_a[1][1],op,rep_b[1][1])
            )
        );

def opsym(op):
    return ("+","*","^","^^")[op]

def expr_to_string(a,op,b):
    return str(a) + opsym(op) + str(b)

def calc(a,op,b):
    if op == 0:
        return min(a+b,MAX_INT)
    elif op == 1:
        return min(a*b,MAX_INT)
    elif op == 2:
        if (b*math.log10(a)>math.log10(MAX_INT)):
            return MAX_INT
        return min(a**b,MAX_INT)
    else:
        t = a
        for h in range(b):
            t = calc(a,op-1,t)
            if t>=MAX_INT:
                t = MAX_INT
                break
        return t

def populate_repr(a,op,b):
    o = (a,op,b)
    n = calc(*o)
    if n == MAX_INT:
        return n
    if n not in repr:
        repr[n] = sorteddict()
    r = expr_to_repr(*o)
    if conditional_replace_repr(n,r):
        for i in range(1,11):
            conditional_replace_repr(n+i,
                (
                    (
                        r[0][0]+i*2,
                        -1,
                        -1
                    ),
                    (
                        "["*i + r[1][0] + "]"*i,
                        "(" + r[1][1] + "+" + str(i) + ")"
                    )
                )
            )
    return n

def conditional_replace_repr(n,new_rep):
    if n not in repr:
        repr[n] = sorteddict()
        repr[n][new_rep[0]] = new_rep[1]
        return True
    found = None
    repl = False
    for d, r in repr[n].iteritems():
        if d[1] == new_rep[0][1] and d[2] == new_rep[0][2]:
            found = d
            if d[0] > new_rep[0][0]:
                repl = True
            break
    if (not found) or (found and repl):
        repr[n][new_rep[0]] = new_rep[1]
        if found:
            del repr[n][found]
        return True
    return False

def vaguely_decent_repr(n):
    if n <= TABLE_SIZE:
        return repr[n].iteritems().next()[1][0]
    if n in repr:
        return repr[n].iteritems().next()[1][0]
    else:
        keys = sorted(repr.keys(),reverse=True)
        best_rep = None
        tested = 0
        for i in keys:
            if i>n:
                continue
            if tested > 10:
                break
            tested += 1
            cand_rep = vaguely_decent_repr(n-i) + repr[i].iteritems().next()[1][0]
            if (not best_rep) or len(cand_rep) < len(best_rep):
                best_rep = cand_rep
        return best_rep



keys = repr.keys()
for k in keys:
    for d,r in repr[k].iteritems():
        for i in range(1,11):
            conditional_replace_repr(k+i,
                (
                    (
                        d[0]+i*2,
                        -1,
                        -1
                    ),
                    (
                        "["*i + r[0] + "]"*i,
                        "(" + r[1] + "+" + str(i) + ")"
                    )
                )
            )

# initialize the repr array with results of 1..256, 2+2 up to TABLE_SIZE^TABLE_SIZE
for row in range(2,TABLE_SIZE+1):
    for col in range(2,row):
        for op in range(1,3):
            populate_repr(row,op,col)
            if op > 1:
                populate_repr(col,op,row)
    for op in range(1,3):
        populate_repr(row,op,row)
    if row > 10:
        for frac in range(1,10):
            rep_a = repr[row-frac].iteritems().next()
            conditional_replace_repr(row,
                (
                    (
                        rep_a[0][0] + frac*2,
                        -1,
                        -1
                    ),
                    (
                        "["*frac + rep_a[1][0] + "]"*frac,
                        "(" + rep_a[1][1] + "+" + str(frac) + ")"
                    )
                )
            )
        for frac in range(10,row/2):
            rep_a = repr[frac].iteritems().next()
            rep_b = repr[row-frac].iteritems().next()
            conditional_replace_repr(row,
                (
                    (
                        rep_a[0][0]+rep_b[0][0],
                        min(rep_a[0][1],rep_b[0][1]),
                        max(rep_a[0][2],rep_b[0][2])
                    ),
                    (
                        rep_a[1][0] + rep_b[1][0],
                        rep_a[1][1] + "+" + rep_b[1][1]
                    )
                )
            )



# for n,reps in repr.iteritems():
#   for d,r in reps.iteritems():

for n in range(1,257):
    print str(n)+"="+repr[n].iteritems().next()[1][0]

for n in (8191,13071,524287,2147483647,1449565302,1746268229,126528612,778085967,1553783038,997599288):
    print str(n)+"="+vaguely_decent_repr(n)

Production:

1=[[]]
2=[[[]]]
3=[[[[]]]]
4=[[[[[]]]]]
5=[[[[[[]]]]]]
6=[[[[[[[]]]]]]]
7=[[[[[[[[]]]]]]]]
8=[[[]]]  [[[[]]]]
9=[[[[]]]]  [[[]]]
10=[[[[[]]]]  [[[]]]]
11=[[[[[[]]]]  [[[]]]]]
12=[[[[[]]]]] [[[[]]]]
13=[[[[[[]]]]] [[[[]]]]]
14=[[[[[[[]]]]] [[[[]]]]]]
15=[[[[[[]]]]]] [[[[]]]]
16=[[[]]]   [[[[]]]]
17=[[[[]]]   [[[[]]]]]
18=[[[[[]]]   [[[[]]]]]]
19=[[[[[[]]]   [[[[]]]]]]]
20=[[[[[[]]]]]] [[[[[]]]]]
21=[[[[[[[]]]]]] [[[[[]]]]]]
22=[[[[[[[[]]]]]] [[[[[]]]]]]]
23=[[[[[[[[[]]]]]] [[[[[]]]]]]]]
24=[[[[[[[]]]]]]] [[[[[]]]]]
25=[[[[[[]]]]]]  [[[]]]
26=[[[[[[[]]]]]]  [[[]]]]
27=[[[[]]]]   [[[]]]
28=[[[[[]]]]   [[[]]]]
29=[[[[[[]]]]   [[[]]]]]
30=[[[[[[[]]]]   [[[]]]]]]
31=[[[[[[[[]]]]   [[[]]]]]]]
32=[[[]]]  [[[[[[]]]]]]
33=[[[[]]]  [[[[[[]]]]]]]
34=[[[[[]]]  [[[[[[]]]]]]]]
35=[[[[[[]]]  [[[[[[]]]]]]]]]
36=[[[[[[[]]]]]]]  [[[]]]
37=[[[[[[[[]]]]]]]  [[[]]]]
38=[[[[[[[[[]]]]]]]  [[[]]]]]
39=[[[[[[[[[[]]]]]]]  [[[]]]]]]
40=[[[[[]]]]  [[[]]]] [[[[[]]]]]
41=[[[[]]]  [[[[]]]] [[[[[[]]]]]]]
42=[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]
43=[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]]
44=[[[[[[]]]]  [[[]]]]] [[[[[]]]]]
45=[[[[]]]]  [[[]]] [[[[[[]]]]]]
46=[[[[[]]]]  [[[]]] [[[[[[]]]]]]]
47=[[[[[[]]]]  [[[]]] [[[[[[]]]]]]]]
48=[[[]]]   [[[[]]]] [[[[]]]]
49=[[[[[[[[]]]]]]]]  [[[]]]
50=[[[[[[[[[]]]]]]]]  [[[]]]]
51=[[[[[[[[[[]]]]]]]]  [[[]]]]]
52=[[[[[[[]]]]]]  [[[]]]] [[[]]]
53=[[[[[[[[]]]]]]  [[[]]]] [[[]]]]
54=[[[[]]]]   [[[]]] [[[]]]
55=[[[[[]]]]   [[[]]] [[[]]]]
56=[[[[[]]]]   [[[]]]] [[[]]]
57=[[[[[[]]]]   [[[]]]] [[[]]]]
58=[[[[[[]]]]   [[[]]]]] [[[]]]
59=[[[[[[[]]]]   [[[]]]]] [[[]]]]
60=[[[[[[[]]]]   [[[]]]]]] [[[]]]
61=[[[[[[[[]]]]   [[[]]]]]] [[[]]]]
62=[[[[[[[[]]]]   [[[]]]]]]] [[[]]]
63=[[[[]]]]  [[[]]] [[[[[[[[]]]]]]]]
64=[[[[[]]]]]  [[[[]]]]
65=[[[[[[]]]]]  [[[[]]]]]
66=[[[[[[[]]]]]  [[[[]]]]]]
67=[[[[[[[[]]]]]  [[[[]]]]]]]
68=[[[[[[[[[]]]]]  [[[[]]]]]]]]
69=[[[[[[[[[[]]]]]  [[[[]]]]]]]]]
70=[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]
71=[[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]]
72=[[[[[[[]]]]]]]  [[[]]] [[[]]]
73=[[[[[[[[]]]]]]]  [[[]]] [[[]]]]
74=[[[[[[[[]]]]]]]  [[[]]]] [[[]]]
75=[[[[[[]]]]]]  [[[]]] [[[[]]]]
76=[[[[[[[]]]]]]  [[[]]] [[[[]]]]]
77=[[[[[[[[]]]]]]  [[[]]] [[[[]]]]]]
78=[[[[[[[]]]]]]  [[[]]]] [[[[]]]]
79=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]]
80=[[[]]]   [[[[]]]] [[[[[[]]]]]]
81=[[[[]]]]  [[[[[]]]]]
82=[[[[[]]]]  [[[[[]]]]]]
83=[[[[[[]]]]  [[[[[]]]]]]]
84=[[[[[[[]]]]  [[[[[]]]]]]]]
85=[[[[[[[[]]]]  [[[[[]]]]]]]]]
86=[[[[[[[[[]]]]  [[[[[]]]]]]]]]]
87=[[[[[[]]]]   [[[]]]]] [[[[]]]]
88=[[[[[[[]]]]   [[[]]]]] [[[[]]]]]
89=[[[[[[[[]]]]   [[[]]]]] [[[[]]]]]]
90=[[[[[[[]]]]   [[[]]]]]] [[[[]]]]
91=[[[[[[[[]]]]   [[[]]]]]] [[[[]]]]]
92=[[[[[[[[[]]]]   [[[]]]]]] [[[[]]]]]]
93=[[[[[[[[]]]]   [[[]]]]]]] [[[[]]]]
94=[[[[[[[[[]]]]   [[[]]]]]]] [[[[]]]]]
95=[[[[[[]]]   [[[[]]]]]]] [[[[[[]]]]]]
96=[[[]]]  [[[[[[]]]]]] [[[[]]]]
97=[[[[]]]  [[[[[[]]]]]] [[[[]]]]]
98=[[[[[[[[]]]]]]]]  [[[]]] [[[]]]
99=[[[[]]]  [[[[[[]]]]]]] [[[[]]]]
100=[[[[[]]]]  [[[]]]]  [[[]]]
101=[[[[[[]]]]  [[[]]]]  [[[]]]]
102=[[[[[[[]]]]  [[[]]]]  [[[]]]]]
103=[[[[[[[[]]]]  [[[]]]]  [[[]]]]]]
104=[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]
105=[[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]]
106=[[[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]]]
107=[[[[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]]]]
108=[[[[]]]]   [[[]]] [[[[[]]]]]
109=[[[[[]]]]   [[[]]] [[[[[]]]]]]
110=[[[[[[]]]]   [[[]]] [[[[[]]]]]]]
111=[[[[[[[[]]]]]]]  [[[]]]] [[[[]]]]
112=[[[[[]]]]   [[[]]]] [[[[[]]]]]
113=[[[[[[]]]]   [[[]]]] [[[[[]]]]]]
114=[[[[[[[]]]]   [[[]]]] [[[[[]]]]]]]
115=[[[[[[[[]]]]   [[[]]]] [[[[[]]]]]]]]
116=[[[[[[]]]]   [[[]]]]] [[[[[]]]]]
117=[[[[[[[]]]]   [[[]]]]] [[[[[]]]]]]
118=[[[[[[[[]]]]   [[[]]]]] [[[[[]]]]]]]
119=[[[[]]]   [[[[]]]]] [[[[[[[[]]]]]]]]
120=[[[[[[[]]]]   [[[]]]]]] [[[[[]]]]]
121=[[[[[[]]]]  [[[]]]]]  [[[]]]
122=[[[[[[[]]]]  [[[]]]]]  [[[]]]]
123=[[[[[[[[]]]]  [[[]]]]]  [[[]]]]]
124=[[[[[[[[[]]]]  [[[]]]]]  [[[]]]]]]
125=[[[[[[]]]]]]  [[[[]]]]
126=[[[[[[[]]]]]]  [[[[]]]]]
127=[[[[[[[[]]]]]]  [[[[]]]]]]
128=[[[]]]  [[[[[[[[]]]]]]]]
129=[[[[]]]  [[[[[[[[]]]]]]]]]
130=[[[[[]]]  [[[[[[[[]]]]]]]]]]
131=[[[[[[]]]  [[[[[[[[]]]]]]]]]]]
132=[[[[[[[]]]]]  [[[[]]]]]] [[[]]]
133=[[[[[[[[]]]]]  [[[[]]]]]] [[[]]]]
134=[[[[[[[[]]]]]  [[[[]]]]]]] [[[]]]
135=[[[[]]]]   [[[]]] [[[[[[]]]]]]
136=[[[[[]]]]   [[[]]] [[[[[[]]]]]]]
137=[[[[[[]]]]   [[[]]] [[[[[[]]]]]]]]
138=[[[[[[[]]]]   [[[]]] [[[[[[]]]]]]]]]
139=[[[[[[[[]]]]   [[[]]] [[[[[[]]]]]]]]]]
140=[[[[[]]]]   [[[]]]] [[[[[[]]]]]]
141=[[[[[[]]]]   [[[]]]] [[[[[[]]]]]]]
142=[[[[[[[]]]]   [[[]]]] [[[[[[]]]]]]]]
143=[[[[[[[[]]]]   [[[]]]] [[[[[[]]]]]]]]]
144=[[[[[[[]]]]  [[[]]]]]]  [[[]]]
145=[[[[[[[[]]]]  [[[]]]]]]  [[[]]]]
146=[[[[[[[[[]]]]  [[[]]]]]]  [[[]]]]]
147=[[[[[[[[]]]]]]]]  [[[]]] [[[[]]]]
148=[[[[[[[[[]]]]]]]]  [[[]]] [[[[]]]]]
149=[[[[[[[[[]]]]]]]  [[[]]]] [[[[[]]]]]]
150=[[[[[[[[[]]]]]]]]  [[[]]]] [[[[]]]]
151=[[[[[[[]]]]]]  [[[]]] [[[[[[[]]]]]]]]
152=[[[[[[[[[]]]]]]]  [[[]]]]] [[[[[]]]]]
153=[[[[]]]   [[[[]]]]] [[[[]]]]  [[[]]]
154=[[[[[]]]   [[[[]]]]] [[[[]]]]  [[[]]]]
155=[[[[[[[[]]]]   [[[]]]]]]] [[[[[[]]]]]]
156=[[[[[[[]]]]]]  [[[]]]] [[[[[[[]]]]]]]
157=[[[[[[[[]]]]]]  [[[]]]] [[[[[[[]]]]]]]]
158=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]] [[[]]]
159=[[[[[[[[]]]]]]  [[[]]]] [[[]]]] [[[[]]]]
160=[[[]]]  [[[[[[]]]]]] [[[[[[]]]]]]
161=[[[[]]]  [[[[[[]]]]]] [[[[[[]]]]]]]
162=[[[[]]]]  [[[[[]]]]] [[[]]]
163=[[[[[]]]]  [[[[[]]]]] [[[]]]]
164=[[[[[]]]]  [[[[[]]]]]] [[[]]]
165=[[[[[[]]]]  [[[[[]]]]]] [[[]]]]
166=[[[[[[]]]]  [[[[[]]]]]]] [[[]]]
167=[[[[[[[]]]]  [[[[[]]]]]]] [[[]]]]
168=[[[[[[[]]]]  [[[[[]]]]]]]] [[[]]]
169=[[[[[[]]]]] [[[[]]]]]  [[[]]]
170=[[[[[[[]]]]] [[[[]]]]]  [[[]]]]
171=[[[[[[[[]]]]] [[[[]]]]]  [[[]]]]]
172=[[[[[[[[[]]]]] [[[[]]]]]  [[[]]]]]]
173=[[[[[[[[[[]]]]] [[[[]]]]]  [[[]]]]]]]
174=[[[[[[]]]]   [[[]]]]] [[[[[[[]]]]]]]
175=[[[[[[]]]]]]  [[[]]] [[[[[[[[]]]]]]]]
176=[[[]]]   [[[[]]]] [[[[[[]]]]  [[[]]]]]
177=[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[]]]]
178=[[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[]]]]]
179=[[[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[]]]]]]
180=[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]
181=[[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]]
182=[[[[[[[[[]]]]]]]  [[[]]] [[[[[[]]]]]]]]
183=[[[[[[[[]]]]]]  [[[]]]] [[[[[[[[]]]]]]]]]
184=[[[[[]]]]  [[[]]] [[[[[[]]]]]]] [[[[[]]]]]
185=[[[[[[[[]]]]]]]  [[[]]]] [[[[[[]]]]]]
186=[[[[[[[[[]]]]]]]  [[[]]]] [[[[[[]]]]]]]
187=[[[[]]]   [[[[]]]]] [[[[[[]]]]  [[[]]]]]
188=[[[[[]]]   [[[[]]]]] [[[[[[]]]]  [[[]]]]]]
189=[[[[]]]]   [[[]]] [[[[[[[[]]]]]]]]
190=[[[[[]]]]   [[[]]] [[[[[[[[]]]]]]]]]
191=[[[[[[]]]]   [[[]]] [[[[[[[[]]]]]]]]]]
192=[[[[[]]]]]  [[[[]]]] [[[[]]]]
193=[[[[[[]]]]]  [[[[]]]] [[[[]]]]]
194=[[[[[[[]]]]]  [[[[]]]] [[[[]]]]]]
195=[[[[[[]]]]]  [[[[]]]]] [[[[]]]]
196=[[[[[[[]]]]] [[[[]]]]]]  [[[]]]
197=[[[[[[[[]]]]] [[[[]]]]]]  [[[]]]]
198=[[[[[[[]]]]]  [[[[]]]]]] [[[[]]]]
199=[[[[[[[[]]]]]  [[[[]]]]]] [[[[]]]]]
200=[[[[[]]]]  [[[]]]]  [[[]]] [[[]]]
201=[[[[[[]]]]  [[[]]]]  [[[]]] [[[]]]]
202=[[[[[[]]]]  [[[]]]]  [[[]]]] [[[]]]
203=[[[[[[[]]]]  [[[]]]]  [[[]]]] [[[]]]]
204=[[[[[[[[[]]]]]  [[[[]]]]]]]] [[[[]]]]
205=[[[[[[[[[[]]]]]  [[[[]]]]]]]] [[[[]]]]]
206=[[[[[[[[]]]]  [[[]]]]  [[[]]]]]] [[[]]]
207=[[[[[[[[[[]]]]]  [[[[]]]]]]]]] [[[[]]]]
208=[[[[[[[]]]]]]  [[[]]]] [[[]]]  [[[[]]]]
209=[[[[]]]   [[[[]]]] [[[[[[]]]]] [[[[]]]]]]
210=[[[[[[[]]]]   [[[]]]]]] [[[[[[[[]]]]]]]]
211=[[[[[[[[]]]]   [[[]]]]]] [[[[[[[[]]]]]]]]]
212=[[[[[[[[]]]]]]  [[[]]]] [[[]]]] [[[[[]]]]]
213=[[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]] [[[[]]]]
214=[[[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]] [[[[]]]]]
215=[[[[[[[[[]]]]]]]] [[[[[[[]]]]]]]] [[[[[[]]]]]]
216=[[[[[[[]]]]]]]  [[[[]]]]
217=[[[[[[[[]]]]]]]  [[[[]]]]]
218=[[[[[[[[[]]]]]]]  [[[[]]]]]]
219=[[[[[[[[[[]]]]]]]  [[[[]]]]]]]
220=[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]
221=[[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]]
222=[[[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]]]
223=[[[[[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]]]]
224=[[[[[]]]]   [[[]]]] [[[]]]  [[[[]]]]
225=[[[[[[[[]]]]] [[[[]]]]]]]  [[[]]]
226=[[[[[[[[[]]]]] [[[[]]]]]]]  [[[]]]]
227=[[[[[[[[[[]]]]] [[[[]]]]]]]  [[[]]]]]
228=[[[[[[[[[[[]]]]] [[[[]]]]]]]  [[[]]]]]]
229=[[[[[[[[[[[[]]]]] [[[[]]]]]]]  [[[]]]]]]]
230=[[[[[[[[[[[[[]]]]] [[[[]]]]]]]  [[[]]]]]]]]
231=[[[[]]]  [[[[[[]]]]]]] [[[[[[[[]]]]]]]]
232=[[[[[[]]]]   [[[]]]]] [[[]]]  [[[[]]]]
233=[[[[[[[]]]]   [[[]]]]] [[[]]]  [[[[]]]]]
234=[[[[[[[]]]]]]  [[[]]]] [[[[]]]]  [[[]]]
235=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]  [[[]]]]
236=[[[[[[[]]]]   [[[]]]]] [[[]]]] [[[[[]]]]]
237=[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]] [[[[]]]]
238=[[[[[]]]  [[[[[[]]]]]]]] [[[[[[[[]]]]]]]]
239=[[[[[[]]]  [[[[[[]]]]]]]] [[[[[[[[]]]]]]]]]
240=[[[]]]   [[[[]]]] [[[[[[]]]]]] [[[[]]]]
241=[[[[]]]   [[[[]]]] [[[[[[]]]]]] [[[[]]]]]
242=[[[[[[]]]]  [[[]]]]]  [[[]]] [[[]]]
243=[[[[]]]]  [[[[[[]]]]]]
244=[[[[[]]]]  [[[[[[]]]]]]]
245=[[[[[[]]]]  [[[[[[]]]]]]]]
246=[[[[[[[]]]]  [[[[[[]]]]]]]]]
247=[[[[[[[[]]]]  [[[[[[]]]]]]]]]]
248=[[[[[[[[[]]]]  [[[[[[]]]]]]]]]]]
249=[[[[[[]]]]  [[[[[]]]]]]] [[[[]]]]
250=[[[[[[]]]]]]  [[[[]]]] [[[]]]
251=[[[[[[[]]]]]]  [[[[]]]] [[[]]]]
252=[[[[[[[]]]]]]  [[[[]]]]] [[[]]]
253=[[[[[[[[]]]]]]  [[[[]]]]] [[[]]]]
254=[[[[[[[[]]]]]]  [[[[]]]]]] [[[]]]
255=[[[[[[[[[]]]]]]  [[[[]]]]]] [[[]]]]
256=[[[[[]]]]]   [[[]]]
8191=[[[[[[[[]]]]]]  [[[[]]]]] [[[[[[]]]]]  [[[[]]]]]]
13071=[[[[[[[[[]]]]  [[[]]]]]  [[[]]] [[[[]]]]   [[[]]] [[[[[]]]]]]]]
524287=[[[[]]]]   [[[]]] [[[[[[[[]]]]]]]] [[[[[[]]]]]  [[[[]]]]][[[[[[[[[[[]]]]]]  [[[]]]] [[[[]]]]]]  [[[[]]]]]]
2147483647=[[[[[[]]]]]]  [[[[]]]] [[[[[]]]]] [[[[]]]][[[[]]]   [[[[]]]]]  [[[[[]]]]][[[[[[[[[[[]]]]]]]  [[[[]]]]]]]]  [[[[]]]][[[[[[[[[[[[[[[]]]]]  [[[[]]]]]]]]]]] [[[[]]]]]]  [[[[[]]]]]]
1449565302=[[[[[[[[[]]]]  [[[]]]]]]  [[[]]]]] [[[[[[[[]]]]  [[[[[]]]]]]]]][[[[[]]]   [[[[]]]]] [[[[]]]]  [[[]]]]  [[[[]]]][[[[[[[[[[[]]]]]  [[[[]]]] [[[[]]]]]]]  [[[[[]]]]]]]]
1746268229=[[[[[[[]]]]]]]  [[[[]]]] [[[[]]]  [[[[[[[[]]]]]]]]][[[[]]]]   [[[]]]  [[[[[[]]]]]][[[[[[[[[[]]]]  [[[]]]]  [[[]]]] [[[]]]]]  [[[[[]]]]]]]
126528612=[[[[[[]]]]  [[[[[[]]]]]]]] [[[[[]]]]][[[[[[[]]]]]]]  [[[[[[[[]]]]]]]][[[[[[[[[]]]]]]  [[[]]]] [[[[[]]]]]]]  [[[[[]]]]]
778085967=[[[[[[[[[]]]]  [[[[[]]]]]]]]]] [[[[[[]]]]]]  [[[]]][[[[[[[]]]]]  [[[[]]]]]]  [[[[]]]][[[[[[[]]]]  [[[[[]]]]]]] [[[]]]]  [[[[[]]]]]
1553783038=[[[[[]]]  [[[[[[[[]]]]]]]]]] [[[[[[[]]]]   [[[]]]]]][[[[[]]]   [[[[]]]]]]  [[[[[]]]]][[[[[[[[[]]]]  [[[]]]]  [[[]]]]]] [[[]]]]  [[[[]]]][[[[[[[[]]]  [[[[[[]]]]]]]]  [[[[[[[]]]]]]]]]]
997599288=[[[[[]]]]   [[[]]] [[[[[[]]]]]]] [[[[[[[[]]]]]  [[[[]]]]]]][[[[[[[[]]]]]] [[[[[]]]]]]]  [[[[[[]]]]]][[[[[[[[[[]]]]   [[[]]]]]]] [[[]]]]  [[[[[[]]]]]]]

7944b pour 1-256

1275b pour les grandes caisses

Sparr
la source