Le défi
Vous devez écrire un programme complet qui prend sept nombres de STDIN et imprime l'historique STDOUT en deux dimensions de l'automate cellulaire (CA). C'est le golf de code.
Formatage de l'entrée L'entrée sera composée de sept entiers / chaînes séparés par des virgules. Le premier nombre est le numéro de la règle selon le code Wolfram (le nom standard de chaque règle). Le second est la configuration de démarrage initiale. Les troisième et quatrième décrivent quel modèle et combien de fois il doit être ajouté à gauche de la configuration de départ. comme rembourrage. Les cinquième et sixième font de même pour le côté droit. Le dernier nombre est le nombre de générations pour exécuter la simulation.
Ainsi, un exemple d'entrée est 90,11,0,4,0,4,5
. Cela devrait indiquer à votre programme que vous exécutez la règle 90 . Il doit également indiquer au programme que vous souhaitez que la configuration initiale soit 11
avec la chaîne 0
ajoutée 4 fois aux deux extrémités, de sorte que le modèle de démarrage réel est 0000110000
. Il indique également à votre programme d'exécuter cette simulation pendant 5 générations.
Sortie Votre programme doit imprimer l'intégralité du tableau de cellules à chaque génération (séparées par des retours à la ligne), de sorte que la sortie soit le diagramme espace-temps de l'autorité de certification. Pour chaque génération, l'état de chaque cellule est déterminé par son état et les états des cellules immédiatement à gauche et à droite, conformément à la règle fournie en entrée. La simulation doit s'enrouler autour des bords. La première chose imprimée devrait être le tableau de départ en tant que gen. 0.
L'entrée 90,11,0,4,0,4,5
doit donner la sortie suivante aussi exactement que possible.
0000110000
0001111000
0011001100
0111111110
1100000011
0110000110
Notez que l'état de départ n'est pas inclus dans les cinq générations. Notez également que la simulation s'enroule autour des bords.
Plus d'exemples
contribution:
184,1100,01,2,01,1,4
production:
0101110001
1011101000
0111010100
0110101010
0101010101
contribution:
0,1011,1,0,0,1,2
production:
10110
00000
00000
Plus d'informations sur le fonctionnement des CA 1D et leur numérotation