Les 9 milliards de noms de Dieu est une nouvelle d'Arthur C. Clarke. Il s'agit d'un groupe de moines tibétains dont l'ordre est consacré à l'écriture de tous les noms possibles de Dieu, écrits dans leur propre alphabet. Ils se consacrent essentiellement à l'écriture de toutes les permutations possibles de leur alphabet, limitées par quelques règles. Dans l’histoire, le monastère a engagé des ingénieurs pour écrire un programme lui permettant de faire tout le travail à sa place. Votre but est d'écrire ce programme.
Règles:
L'alphabet du moine utilise 13 caractères (selon mes estimations). Vous pouvez utiliser
ABCDEFGHIJKLM
ou un autre ensemble de 13 caractères.La longueur minimale d'un nom possible est de 1 caractère. La longueur maximale est de 9 caractères.
Aucun personnage ne peut se reproduire plus de 3 fois de suite.
AAABA
est un nom valide, maisAAAAB
n'est pas.Votre programme doit imprimer (dans un fichier) tous les noms possibles dans l'ordre, de,
A
àMMMLMMMLM
, séparés par tout caractère ne figurant pas dans l'alphabet (sauts de ligne, points-virgules, peu importe).C'est du code-golf, et vous pouvez utiliser n'importe quelle langue. La solution la plus courte au 1er juin 2014 l'emporte.
Edit: Les noms doivent commencer par A
et se terminer par MMMLMMMLM
, en passant en revue tous les milliards de noms de façon séquentielle. Mais la séquence particulière est à vous. Vous pouvez d'abord imprimer tous les noms à une lettre, puis tous les noms à 2 lettres, etc. Vous pouvez également imprimer tous les noms commençant par A
, puis tous ceux commençant par B
, ou un autre motif. Mais un humain devrait pouvoir lire le fichier et confirmer qu'il est présent et dans l'ordre logique de votre choix, en supposant qu'il en ait le temps.
f(k) = k^9 + k^8 + k^7 - 5*k^6 + k^5 + k^4 + 4*k^3 - 2*k^2 + k
. Sage implémentation: goo.gl/0srwhq
105.8GB
tout est dit et fait! Je suis content que les stars ne soient pas sorties ... ou peut-être devez-vous imprimer la liste pour que cela se produise ...?