ความท้าทาย
เขียนโปรแกรมที่สามารถทำลายลงสูตรทางเคมีการป้อนข้อมูล (ดูด้านล่าง) element: atom-count
และเอาท์พุทอะตอมที่เกี่ยวข้องในรูปแบบที่
อินพุต
ตัวอย่างอินพุต:
H2O
ข้อมูลที่คุณป้อนจะมีองค์ประกอบอย่างน้อยหนึ่งองค์ประกอบเสมอ แต่ไม่เกินสิบรายการ โปรแกรมของคุณควรยอมรับอินพุตที่มีวงเล็บซึ่งอาจซ้อนอยู่
องค์ประกอบในสตริงจะตรงกันเสมอ[A-Z][a-z]*
ซึ่งหมายความว่าพวกเขาจะเริ่มต้นด้วยตัวอักษรตัวพิมพ์ใหญ่เสมอ ตัวเลขจะเป็นตัวเลขหลักเดียวเสมอ
เอาท์พุต
ตัวอย่างเอาต์พุต (สำหรับอินพุตด้านบน):
H: 2
O: 1
ผลลัพธ์ของคุณสามารถเลือกได้ตามด้วยบรรทัดใหม่
ทำลายโมเลกุล
หมายเลขทางด้านขวาของชุดวงเล็บจะถูกแจกจ่ายไปยังแต่ละองค์ประกอบภายใน:
Mg(OH)2
ควรส่งออก:
Mg: 1
O: 2
H: 2
หลักการเดียวกันนี้ใช้กับแต่ละอะตอม:
O2
ควรส่งออก:
O: 2
และยังผูกมัด:
Ba(NO2)2
ควรส่งออก:
Ba: 1
N: 2
O: 4
ตัวอย่าง
> Ba(PO3)2
Ba: 1
P: 2
O: 6
> C13H18O2
C: 13
H: 18
O: 2
> K4(ON(SO3)2)2
K: 4
O: 14
N: 2
S: 4
> (CH3)3COOC(CH3)3
C: 8
H: 18
O: 2
> (C2H5)2NH
C: 4
H: 11
N: 1
> Co3(Fe(CN)6)2
Co: 3
Fe: 2
C: 12
N: 12
อินพุตถูกแทนด้วยลูกศร (เครื่องหมายมากกว่า; >
)
ป้ายบอกคะแนน
เพื่อให้คะแนนของคุณปรากฏบนกระดานควรอยู่ในรูปแบบนี้:
# Language, Score
หรือถ้าคุณได้รับโบนัส:
# Language, Score (Bytes - Bonus%)
แก้ไข:วงเล็บเหลี่ยมไม่ได้เป็นส่วนหนึ่งของคำถามอีกต่อไป คำตอบใด ๆ ที่โพสต์ก่อนเวลา UTC 3AM วันที่ 23 กันยายนปลอดภัยและจะไม่ได้รับผลกระทบจากการเปลี่ยนแปลงนี้
[HCl] = 0.01 mol L^-1
เช่น:
>
ปัจจัยการผลิตจะแสดงโดย