도전
화학 물질의 공식이 주어지면 화합물 의 M r 을 산출하십시오 .
방정식
화합물의 각 원소 다음에는 화합물에서 상기 원자의 수를 나타내는 숫자가 뒤 따른다. 숫자가 없으면 화합물에 해당 원자 중 하나만 있습니다.
몇 가지 예는 다음과 같습니다.
- 에탄올 (C 2 H 6 O)
C2H6O
은 두 개의 탄소 원자, 6 개의 수소 원자 및 1 개의 산소 원자가있는 곳입니다. - 수산화 마그네슘 (MgO 2 H 2 )
MgO2H2
은 1 개의 마그네슘 원자, 2 개의 산소 원자 및 2 개의 수소 원자가 존재하는 곳에있을 것이다 .
대괄호를 다룰 필요는 없으며 각 요소는 수식에 한 번만 포함됩니다.
대부분의 사람들은 아마도 가장 편한 순서를 고수 할 것이지만, 엄격한 주문 시스템은 없습니다. 예를 들어, 물은 H2O
또는 로 제공 될 수 있습니다 OH2
.
M r
참고 : 여기서 공식 질량은 분자 질량과 같다고 가정합니다
분자 질량 인 화합물 의 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 r 은 다음 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 coinheringaahing의 허락하에 채택 되었습니다 . (포스트 삭제)
NumberForm[#&@@#~ChemicalData~"MolecularMass",{9,1}]&
2H2O
합니까?