Une suite à ce défi
Étant donné un ensemble de dés mixtes, affichez la distribution de fréquence de tous les lancers et de la somme des nombres lancés sur chaque dé.
Par exemple, considérez 1d12 + 1d8
(lancer 1 dé à 12 faces et 1 dé à 8 faces). Les lancers maximum et minimum sont 20
et 2
, respectivement, ce qui est similaire au lancer 2d10
(2 dés à 10 faces). Cependant, il en 1d12 + 1d8
résulte une distribution plus plate que 2d10
: [1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1]
versus [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
.
Règles
- Les fréquences doivent être répertoriées dans l'ordre croissant de la somme à laquelle la fréquence correspond.
- L'étiquetage des fréquences avec les sommes correspondantes est autorisé, mais pas obligatoire (car les sommes peuvent être déduites de l'ordre requis).
- Vous n'avez pas à gérer les entrées lorsque la sortie dépasse la plage représentable d'entiers pour votre langue.
- Les zéros au début ou à la fin ne sont pas autorisés. Seules les fréquences positives doivent apparaître dans la sortie.
- Vous pouvez prendre l'entrée dans n'importe quel format raisonnable (liste de dés (
[6, 8, 8]
), liste de paires de dés ([[1, 6], [2, 8]]
), etc.). - Les fréquences doivent être normalisées de sorte que le GCD des fréquences soit 1 (par exemple
[1, 2, 3, 2, 1]
au lieu de[2, 4, 6, 4, 2]
). - Tous les dés auront au moins un visage (donc a
d1
est le minimum). - Il s'agit de code-golf , donc le code le plus court (en octets) l'emporte. Les failles standard sont interdites, comme d'habitude.
Cas de test
Ces cas de test sont donnés comme input: output
, où l'entrée est donnée sous la forme d'une liste de paires [a, b]
représentant les a
b
dés à faces (donc [3, 8]
fait référence 3d8
et [[1, 12], [1, 8]]
fait référence 1d12 + 1d8
).
[[2, 10]]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
[[1, 1], [1, 9]]: [1, 1, 1, 1, 1, 1, 1, 1, 1]
[[1, 12], [1, 8]]: [1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1]
[[2, 4], [3, 6]]: [1, 5, 15, 35, 68, 116, 177, 245, 311, 363, 392, 392, 363, 311, 245, 177, 116, 68, 35, 15, 5, 1]
[[1, 3], [2, 13]]: [1, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 37, 36, 33, 30, 27, 24, 21, 18, 15, 12, 9, 6, 3, 1]
[[1, 4], [2, 8], [2, 20]]: [1, 5, 15, 35, 69, 121, 195, 295, 423, 579, 761, 965, 1187, 1423, 1669, 1921, 2176, 2432, 2688, 2944, 3198, 3446, 3682, 3898, 4086, 4238, 4346, 4402, 4402, 4346, 4238, 4086, 3898, 3682, 3446, 3198, 2944, 2688, 2432, 2176, 1921, 1669, 1423, 1187, 965, 761, 579, 423, 295, 195, 121, 69, 35, 15, 5, 1]
[[1, 10], [1, 12], [1, 20], [1, 50]]: [1, 4, 10, 20, 35, 56, 84, 120, 165, 220, 285, 360, 444, 536, 635, 740, 850, 964, 1081, 1200, 1319, 1436, 1550, 1660, 1765, 1864, 1956, 2040, 2115, 2180, 2235, 2280, 2316, 2344, 2365, 2380, 2390, 2396, 2399, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2399, 2396, 2390, 2380, 2365, 2344, 2316, 2280, 2235, 2180, 2115, 2040, 1956, 1864, 1765, 1660, 1550, 1436, 1319, 1200, 1081, 964, 850, 740, 635, 536, 444, 360, 285, 220, 165, 120, 84, 56, 35, 20, 10, 4, 1]