ในความท้าทายนี้งานของคุณคือการใช้ไอออนและไอออนบวกและส่งออกสูตรทางเคมีของสารประกอบ อินพุตเป็นไปตามกฎเหล่านี้:
- ใช้เวลาใน 2 สตริง (ในลำดับใด ๆ ) ที่เป็นตัวแทนของประจุลบและประจุบวกเช่น
F
, หรือNH_4
Al
- ในการรับผิดชอบแต่ละไอออนคุณสามารถให้มันเป็นส่วนหนึ่งของสตริงที่คั่นด้วยเครื่องหมายรูปหมวก (เช่น
F^-1
) หรือรับอาร์กิวเมนต์ที่เป็นตัวเลขเพิ่มเติม- หมายเหตุ:ตราบใดที่คุณป้อนประเภทตัวเลขของคุณแล้วประจุประจุลบจะถูกส่งผ่านเป็นตัวเลขติดลบ
- สัญลักษณ์จะเป็นของจริงเสมอและชาร์จอย่างแม่นยำ
ผลลัพธ์ควรเป็นไปตามกฎเหล่านี้:
- ใช้
_
สำหรับห้อย: เฟ2 O 3Fe_2O_3
จะเป็น - การอ้างถึงครั้งแรก: NaCl ไม่ใช่ ClNa
- โมเลกุล Neutral: หลี่2 O ไม่ Lio หรือ Lio -
- ค่าสัมประสิทธิ์ที่เป็นไปได้ต่ำสุด: เฟ2 O 3ไม่เฟ4 O 6
- ไม่มีคนที่ห้อย: โซเดียมคลอไรด์ไม่นา1 Cl 1
- ไม่มีการขยับ: NH 4 OH ไม่ใช่ NH 5 O
- วงเล็บแบบมีเงื่อนไข:
- อย่าใช้วงเล็บบนไอออนเดียวอะตอม: MgCl 2ไม่ Mg (Cl) 2
- อย่าใช้วงเล็บหากมีเพียงไอออนเดียวต่อโมเลกุล: KClO 3ไม่ใช่ K (ClO 3 )
- จะใช้วงเล็บถ้ามีสองหรือมากกว่าของไอออน polyatomic: Be 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
สำหรับ Blue Prussian
Fe^+2, OH^-1: Fe(OH)_2
สำหรับไอออน polyatomic ที่มี 1 ในแต่ละองค์ประกอบ (OH^-1
)