Je pense, pour avoir abordé des sujets apparentés, que l'inventaire systématique des combinaisons (potentiellement au nombre de 13!) risque d'être très long, même en usant en permanence des contraintes pour limiter le nombre de calculs.
J'ai déjà indiqué (#10) qu'une autre voie était envisageable, en partant des parenthèses structurant l'expression.
Il y a deux sortes de séquences, selon que les paires de parenthèses se contiennent [...(...(...)...)...] ou non [...(...)...(...)...]
et chacune d'entre elles peut être caractétisée par le nombre de variables présentes aux cinq endroits possibles; les opérateurs suivent toujours:
a)
Type (1): [...<h>...(...<i>...(...<j>...)...<k>...)...<l>...]
h + i + j + k + l = 5
1 < j < 6 (le contenu correspond à plus d'un terme
(1), et ne peut dépasser 5)
tous les autres indices (h, i, k, l) sont positifs ou nuls
b)
Type (2): [...<h>...(...<i>...)...<j>...(...<k>...)...<l>...]
h + i + j + k + l = 5
1 < i < 6 et
1 < k < 6 (le contenu correspond à plus d'un terme
(1), et ne peut dépasser 5)
tous les autres indices (h, j, l) sont positifs ou nuls, d'où: i + k < 6
les combinaisons sont ici moins nombreuses.
(1) un terme
isolé [... (v) ...] rend la paire de parenthèses inutile.
D'où le dénombrement ordonné des chaînes de caractères:
a) Séquences de type (1) - N
1 = 69 (somme de nombres pyramidaux)
Code:
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
|
00104 _ 00203 _ 00302 _ 00401 _ 00500 (15)
00113 _ 00212 _ 00311 _ 00410
00122 _ 00221 _ 00320
00131 _ 00230
00140
01103 _ 01202 _ 01301 _ 01400 (10)
01112 _ 01211 _ 01310
01121 _ 01220
01130
02102 _ 02201 _ 02300 (6)
02111 _ 02210
02120
03101 _ 03200 (3)
03110
04100 1)
10103 _ 10202 _ 10301 _ 10400 (10)
10112 _ 10211 _ 10310
10121 _ 10220
10130
11102 _ 11201 _ 11300 (6)
11111 _ 11210
11120
12101 _ 12110 (3)
12200
13100 (1)
20102 _ 20201 _ 20300 (6)
20111 _ 20210
20120
21101_21200 (3)
21110
22100 (1)
30101 _ 30200 (3)
30110
40100 (1) |
b) Séquences de type (2) N
2 = 20 (autre somme de nombres pyramidaux):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
01013 _ 01022 _ 01031 _ 01040 (10)
01112 _ 01121 _ 01130
01211 _ 01220
01310
02012 _ 02021 _ 02030 (6)
02111 _ 02120
02210
03011 _ 03020 (3)
03110
04010 (1) |
Soit au total: N = 89 types de séquences.
Sachant qu'on y trouve 5 variables et 4 signes, cela fait à chaque fois 5!*4! = 2880 arrangements, cela conduit finalement à 256320 chaînes de 13 caractères conformes aux règles algébriques d'écriture.
Deux sortes de programmes écriront la liste complète des expressions.
Problème résolu. Point barre. :D