Виклик
Враховуючи формулу хімічного речовини, виведіть M r сполуки.
Рівняння
Кожен елемент сполуки супроводжується числом, яке позначає кількість зазначеного атома в сполуці. Якщо немає числа, у складі сполуки є лише один з цього атома.
Деякі приклади:
- Етанол (C 2 H 6 O) був би
C2H6O
там, де є два атоми вуглецю, 6 атомів водню та 1 атом кисню - Гідроксид магнію (MgO 2 H 2 ) був би
MgO2H2
там, де є один атом магнію, два атоми кисню та два атоми водню.
Зауважте, що вам ніколи не доведеться обробляти дужки, і кожен елемент включається лише один раз у формулу.
Хоча більшість людей, ймовірно, дотримуватимуться порядку, в якому вони відчувають себе найбільш комфортно, немає суворої системи замовлення. Наприклад, воду можна подавати у вигляді H2O
або OH2
.
М р
Примітка. Тут припустимо, маса формули така ж, як молекулярна маса
M r сполуки, молекулярна маса, - це сума атомних ваг атомів у молекулі.
Єдині елементи та їх атомна вага до 1 десяткового знаку, який ви повинні підтримувати (водень до кальцію, не включаючи благородні гази), полягають у наступному. Їх також можна знайти тут
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
Ви завжди повинні давати результат в одне десяткове місце.
Наприклад, етанол ( C2H6O
) має M р про , 46.0
як це сума атомних ваг елементів в ньому:
12.0 + 12.0 + 1.0 + 1.0 + 1.0 + 1.0 + 1.0 + 1.0 + 16.0
(2*C + 6*H + 1*O)
Вхідні дані
Одинокий рядок у наведеному вище форматі. Ви можете гарантувати, що елементи, що входять до рівняння, будуть фактичними елементарними символами.
Даний склад не гарантовано існує в реальності.
Вихідні дані
Загальна M r сполуки, до 1 десяткового знака.
Правила
Вбудовані елементи з елементом доступу або хімічними даними заборонені (вибачте, Mathematica)
Приклади
Input > Output
CaCO3 > 100.1
H2SO4 > 98.1
SF6 > 146.1
C100H202O53 > 2250.0
Перемога
Виграє найкоротший код у байтах.
Ця посада була прийнята з дозволу у співрозмовництві caird . (Публікація видалена)
NumberForm[#&@@#~ChemicalData~"MolecularMass",{9,1}]&
2H2O
:?