Dans ce défi, votre tâche consiste à prendre un anion et un cation et à produire la formule chimique du composé. L'entrée suit ces règles:
- Prendre en 2 chaînes (dans un ordre quelconque) représentant l'anion et cation, par exemple
F
,NH_4
ouAl
. - Pour prendre en charge chaque ion, vous pouvez soit l'avoir dans le cadre de la chaîne séparée par un caret (par exemple
F^-1
) ou prendre des arguments numériques supplémentaires.- Remarque: Tant que votre type d'entrée numérique est signé, la charge de l'anion sera transmise sous forme de nombre négatif.
- Les symboles seront toujours réels et les charges précises.
La sortie doit suivre ces règles:
- Utilisation
_
pour les indices: Fe 2 O 3 seraitFe_2O_3
. - Cation d'abord: NaCl, pas ClNa.
- Molécule neutre: Li 2 O, pas LiO ou LiO - .
- Coefficients les plus bas possibles: Fe 2 O 3 , pas Fe 4 O 6 .
- Aucun indice: NaCl, pas Na 1 Cl 1 .
- Pas de décalage: NH 4 OH, pas NH 5 O.
- Parenthèses conditionnelles:
- N'utilisez pas de parenthèses sur un ion à un seul atome: MgCl 2 , pas Mg (Cl) 2 .
- N'utilisez pas de parenthèses s'il n'y a qu'un seul des ions par molécule: KClO 3 , pas K (ClO 3 ).
- UTILISER des parenthèses s'il y a deux ou plus d'un ion polyatomique: être 3 (PO 4 ) 2 , pas être 3 PO 4 2 ou être 3 P 2 O 8 .
Voici quelques exemples d'entrées et de sorties supplémentaires:
Input Output
Fe^+3, O^-2 Fe_2O_3
Fe^+2, O^-2 FeO
H^+1, SO_4^-2 H_2SO_4
Al^+3, SO_4^-2 Al_2(SO_4)_3
NH_4^+1, SO_4^-2 (NH_4)_2SO_4
Hg_2^+2, PO_4^-3 (Hg_2)_3(PO_4)_2
NH_4^+1, OH^-1 NH_4OH
Hg_2^+2, O_2^-2 Hg_2O_2
Puisqu'il s'agit de code-golf , la réponse la plus courte en octets l'emporte.
NO_3^-1
. Un autre cas de test devrait également être le premier couplé avec un ^-2
, donc cela ferait l'affaire (C(NH_2)_3)_2...
. Ou un cas où l'ion dont vous avez besoin plus d'une fois commence par un support.
Fe_4(Fe(CN)_6)_3
pour le bleu de Prusse.
Fe^+2, OH^-1: Fe(OH)_2
pour un ion polyatomique avec 1 de chaque élément (OH^-1
).