この課題では、あなたの仕事は陰イオンと陽イオンを取り、化合物の化学式を出力することです。入力は次の規則に従います。
- 陰イオンと陽イオン、例えば表現(任意の順序で)2列に乗り
F
、NH_4
、またはをAl
。 - 各イオンの電荷を取り込むには、文字列の一部としてキャレット(例:)で区切る
F^-1
か、追加の数値引数を取り込むことができます。- 注:数値入力タイプが署名されている限り、陰イオンの電荷は負の数として渡されます。
- シンボルは常に本物であり、正確に課金されます。
出力は次のルールに従う必要があります。
_
下付き文字に使用:Fe 2 O 3はになりますFe_2O_3
。- 最初にカチオン:ClNaではなくNaCl。
- 中性分子:リチウム2 O、ではないのLiOかのLiO - 。
- 可能な最低係数:Fe 4 O 6ではなく、Fe 2 O 3。
- 下付き文字なし:NaCl、Na 1 Cl 1ではありません。
- いいえ変速ない:NH 4 OH、NHない5 O.
- 条件付き括弧:
- 単一原子イオン(Mg(Cl)2ではなくMgCl 2)に括弧を使用しないでください。
- 唯一の分子当たりのイオンの一つがある場合は、括弧を使用しないでください:KClO 3、ないK(のClO 3)。
- ことができる:分子イオンの2つ以上存在する場合に使用括弧をDO 3(PO 4)2できない、3 PO 4 2又はて3 P 2 O 8。
追加の入力および出力のサンプルを次に示します。
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
これはcode-golfであるため、バイト単位の最短回答が優先されます。
NO_3^-1
。また、別のテストケースは最初のものと対になるべきである^-2
ので、それは作るでしょう(C(NH_2)_3)_2...
。または、複数回必要なイオンが括弧で始まる場合。
Fe_4(Fe(CN)_6)_3
プルシアンブルーの@Adám 。
Fe^+2, OH^-1: Fe(OH)_2
各要素が1つの多原子イオン(OH^-1
)の場合。