Nesse desafio, sua tarefa é pegar um ânion e um cátion e produzir a fórmula química do composto. A entrada segue estas regras:
- Tome em 2 cadeias (em qualquer ordem) que representam o ani e cati, por exemplo
F
,NH_4
, ouAl
. - Para assumir a carga de cada íon, você pode tê-lo como parte da cadeia de caracteres separada por um sinal de intercalação (por exemplo
F^-1
) ou receber argumentos numéricos adicionais.- Nota: Enquanto seu tipo de entrada numérica for assinado, a carga do ânion será repassada como um número negativo.
- Os símbolos sempre serão reais e cobram com precisão.
A saída deve seguir estas regras:
- Use
_
para subscritos: Fe 2 O 3 seriaFe_2O_3
. - Catião primeiro: NaCl, não ClNa.
- Molécula neutra: Li 2 O, não LiO ou LiO - .
- Coeficientes mais baixos possíveis: Fe 2 O 3 , não Fe 4 O 6 .
- Nenhum subscrito: NaCl, não Na 1 Cl 1 .
- Sem mudança: NH 4 OH, não NH 5 O.
- Parênteses condicionais:
- Não use parênteses em um íon de átomo único: MgCl 2 , não Mg (Cl) 2 .
- Não use parênteses se houver apenas um íon por molécula: KClO 3 , não K (ClO 3 ).
- NÃO use parênteses se houver dois ou mais íons poliatômicos: Seja 3 (PO 4 ) 2 , não seja 3 PO 4 2 ou Seja 3 P 2 O 8 .
Aqui estão algumas entradas e saídas de amostra adicionais:
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
Como esse é o código-golfe , a resposta mais curta em bytes vence.
NO_3^-1
. Outro caso de teste também deve ser o primeiro emparelhado com um ^-2
, assim seria (C(NH_2)_3)_2...
. Ou um caso em que o íon necessário mais de uma vez começa com um suporte.
Fe_4(Fe(CN)_6)_3
para o azul da Prússia.
Fe^+2, OH^-1: Fe(OH)_2
para um íon poliatômico com 1 de cada elemento (OH^-1
).