В этой задаче ваша задача - взять анион и катион и вывести химическую формулу соединения. Вход следует этим правилам:
- Возьмите в 2 -х строках (в любом порядке) , представляющих анион и катион, например
F
,NH_4
, илиAl
. - Чтобы взять на себя ответственность за каждый ион, вы можете использовать его как часть строки, разделенную кареткой (например
F^-1
), или ввести дополнительные числовые аргументы.- Примечание. Пока ваш тип ввода чисел подписан, заряд аниона будет передаваться как отрицательное число.
- Символы всегда будут настоящими, а расходы точными.
Вывод должен следовать этим правилам:
- Используйте
_
для подписки: Fe 2 O 3 будетFe_2O_3
. - Сначала катион: NaCl, а не ClNa.
- Нейтральная молекула: Li 2 O, а не LiO или LiO - .
- Наименьшие возможные коэффициенты: Fe 2 O 3 , а не Fe 4 O 6 .
- Никаких индексов: NaCl, а не Na 1 Cl 1 .
- Нет переключения: NH 4 OH, а не NH 5 O.
- Условные скобки:
- Не используйте скобки для одноатомного иона: MgCl 2 , а не Mg (Cl) 2 .
- Не используйте скобки, если в молекуле присутствует только один ион: KClO 3 , а не K (ClO 3 ).
- НЕ используйте круглые скобки, если есть два или более многоатомных иона: Be 3 (PO 4 ) 2 , а не Be 3 PO 4 2 или Be 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
Поскольку это код-гольф , выигрывает самый короткий ответ в байтах.
NO_3^-1
. Кроме того, еще один тестовый пример должен быть первым в паре с a ^-2
, чтобы он получился (C(NH_2)_3)_2...
. Или случай, когда ион, который нужен более одного раза, начинается со скобки.
Fe_4(Fe(CN)_6)_3
для прусского голубого.
Fe^+2, OH^-1: Fe(OH)_2
для многоатомного иона с 1 каждым элементом (OH^-1
).