이 도전에서, 당신의 임무는 음이온과 양이온을 가지고 화합물의 화학식을 출력하는 것입니다. 입력은 다음 규칙을 따릅니다.
- 음이온과 양이온, 예를 들어, 표현 (임의의 순서로)이 문자열에 타고
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 .
- 없음 첨자 사람 없습니다 : 염화나트륨,하지 나 1 CL 1 .
- 변속 없음 : NH 5 O가 아닌 NH 4 OH
- 조건부 괄호 :
- 의 MgCl : 단일 원자 이온에 괄호를 사용하지 않는 2 가 아닌 마그네슘 (CL) 2 .
- 분자 당 하나의 이온 만있는 경우 괄호를 사용하지 마십시오 : K (ClO 3 )가 아닌 KClO 3 .
- 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
).