Sfida
Data la formula di una sostanza chimica, emette M r del composto.
Equazione
Ogni elemento nel composto è seguito da un numero che indica il numero di detto atomo nel composto. Se non c'è un numero, c'è solo uno di quell'atomo nel composto.
Alcuni esempi sono:
- L'etanolo (C 2 H 6 O) sarebbe
C2H6O
dove ci sono due atomi di carbonio, 6 atomi di idrogeno e 1 atomo di ossigeno - L'idrossido di magnesio (MgO 2 H 2 ) sarebbe
MgO2H2
dove c'è un atomo di magnesio, due atomi di ossigeno e due atomi di idrogeno.
Nota che non dovrai mai gestire parentesi e ogni elemento è incluso solo una volta nella formula.
Mentre la maggior parte delle persone probabilmente si atterrà all'ordine con cui si sente più a suo agio, non esiste un sistema di ordinamento rigoroso. Ad esempio, l'acqua può essere data come una H2O
o OH2
.
M r
Nota: qui, supponiamo che la massa della formula sia uguale alla massa molecolare
Il M r di un composto, la massa molecolare, è la somma dei pesi atomici degli atomi nella molecola.
Gli unici elementi e i loro pesi atomici al primo decimale che devi sostenere (idrogeno in calcio, esclusi i gas nobili) sono i seguenti. Possono anche essere trovati qui
H - 1.0 Li - 6.9 Be - 9.0
B - 10.8 C - 12.0 N - 14.0
O - 16.0 F - 19.0 Na - 23.0
Mg - 24.3 Al - 27.0 Si - 28.1
P - 31.0 S - 32.1 Cl - 35.5
K - 39.1 Ca - 40.1
Dovresti sempre dare l'output al primo decimale.
Per esempio, etanolo ( C2H6O
) ha una M r di 46.0
quanto è la somma dei pesi atomici degli elementi in esso:
12.0 + 12.0 + 1.0 + 1.0 + 1.0 + 1.0 + 1.0 + 1.0 + 16.0
(2*C + 6*H + 1*O)
Ingresso
Una singola stringa nel formato sopra. Puoi garantire che gli elementi inclusi nell'equazione siano veri e propri simboli elementali.
Il composto dato non è garantito per esistere nella realtà.
Produzione
La M r totale del composto, al primo decimale.
Regole
Builtin a cui non sono consentiti elementi di accesso o dati chimici (scusate Mathematica)
Esempi
Input > Output
CaCO3 > 100.1
H2SO4 > 98.1
SF6 > 146.1
C100H202O53 > 2250.0
vincente
Vince il codice più breve in byte.
Questo post è stato adottato con il permesso di caher coinheringaahing . (Post ora eliminato)
NumberForm[#&@@#~ChemicalData~"MolecularMass",{9,1}]&
2H2O
:?