Dalam tantangan ini, tugas Anda adalah mengambil anion dan kation, dan mengeluarkan formula kimiawi senyawa tersebut. Masukan mengikuti aturan ini:
- Mengambil dalam 2 string (dalam urutan apapun) mewakili anion dan kation, misalnya
F
,NH_4
atauAl
. - Untuk mengambil muatan dari masing-masing ion, Anda dapat memilikinya sebagai bagian dari string yang dipisahkan oleh tanda sisipan (misalnya
F^-1
) atau mengambil argumen numerik tambahan.- Catatan: Selama jenis input numerik Anda ditandatangani, maka biaya anion akan diteruskan sebagai angka negatif.
- Simbol akan selalu nyata, dan biaya akurat.
Outputnya harus mengikuti aturan berikut:
- Gunakan
_
untuk subskrip: Fe 2 O 3 akanFe_2O_3
. - Kation pertama: NaCl, bukan ClNa.
- Molekul netral: Li 2 O, bukan LiO atau LiO - .
- Koefisien serendah mungkin: Fe 2 O 3 , bukan Fe 4 O 6 .
- Tidak ada yang subskrip: NaCl, bukan Na 1 Cl 1 .
- Tidak bergeser: NH 4 OH, bukan NH 5 O.
- Tanda kurung bersyarat:
- Jangan gunakan tanda kurung pada ion atom tunggal: MgCl 2 , bukan Mg (Cl) 2 .
- Jangan gunakan tanda kurung jika hanya ada satu ion per molekul: KClO 3 , bukan K (ClO 3 ).
- LAKUKAN menggunakan tanda kurung jika ada dua atau lebih ion poliatomik: Be 3 (PO 4 ) 2 , bukan Be 3 PO 4 2 atau Be 3 P 2 O 8 .
Berikut adalah beberapa input dan output sampel tambahan:
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
Karena ini adalah kode-golf , jawaban tersingkat dalam byte menang.
NO_3^-1
. Juga test case lain harus yang pertama dipasangkan dengan ^-2
, jadi itu akan membuatnya (C(NH_2)_3)_2...
. Atau kasus di mana ion yang dibutuhkan lebih dari sekali dimulai dengan braket.
Fe_4(Fe(CN)_6)_3
untuk warna biru Prusia.
Fe^+2, OH^-1: Fe(OH)_2
untuk ion poliatomik dengan 1 dari setiap elemen (OH^-1
).