Défi
Étant donné la formule d'un produit chimique, produire le M r du composé.
Équation
Chaque élément du composé est suivi d'un nombre qui indique le nombre dudit atome dans le composé. S'il n'y a pas de nombre, il n'y a qu'un seul de cet atome dans le composé.
Quelques exemples sont:
- L'éthanol (C 2 H 6 O) serait là
C2H6O
où il y a deux atomes de carbone, 6 atomes d'hydrogène et 1 atome d'oxygène - L'hydroxyde de magnésium (MgO 2 H 2 ) serait là
MgO2H2
où il y a un atome de magnésium, deux atomes d'oxygène et deux atomes d'hydrogène.
Notez que vous n'aurez jamais à gérer les crochets et que chaque élément n'est inclus qu'une seule fois dans la formule.
Alors que la plupart des gens respecteront probablement la commande avec laquelle ils se sentent le plus à l'aise, il n'y a pas de système de commande strict. Par exemple, l'eau peut être donnée sous forme de H2O
ou OH2
.
M r
Remarque: ici, supposons que la masse de la formule est la même que la masse moléculaire
Le M r d'un composé, la masse moléculaire, est la somme des poids atomiques des atomes dans la molécule.
Les seuls éléments et leurs poids atomiques à 1 décimale que vous devez supporter (l'hydrogène au calcium, à l'exclusion des gaz nobles) sont les suivants. Ils peuvent également être trouvés ici
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
Vous devez toujours attribuer la sortie à une décimale.
Par exemple, de l' éthanol ( C2H6O
) a un M r de 46.0
telle qu'elle correspond à la somme des poids atomiques des éléments qu'elle contient :
12.0 + 12.0 + 1.0 + 1.0 + 1.0 + 1.0 + 1.0 + 1.0 + 16.0
(2*C + 6*H + 1*O)
Contribution
Une seule chaîne dans le format ci-dessus. Vous pouvez garantir que les éléments inclus dans l'équation seront de véritables symboles élémentaires.
Le composé donné n'est pas garanti d'exister dans la réalité.
Production
Le total M r du composé, à 1 décimale près.
Règles
Les buildins qui accèdent à un élément ou à des données chimiques sont interdits (désolé Mathematica)
Exemples
Input > Output
CaCO3 > 100.1
H2SO4 > 98.1
SF6 > 146.1
C100H202O53 > 2250.0
Gagnant
Le code le plus court en octets gagne.
Ce poste a été adopté avec la permission de caird coinheringaahing . (Message maintenant supprimé)
NumberForm[#&@@#~ChemicalData~"MolecularMass",{9,1}]&
2H2O
:?