Meydan okuma
Bir kimyasal formülü verildiğinde, bileşiğin Mr'sini çıktılayın.
Denklem
Bileşikteki her elemanı, bileşikteki adı geçen atomun sayısını gösteren bir sayı takip eder. Bir sayı yoksa, bileşikte bu atomdan sadece bir tane vardır.
Bazı örnekler:
- Etanol (Cı- 2 , H 6 O) olacaktır
C2H6O
, iki karbon atomu, R6 hidrojen atomu ve 1 oksijen atomu olduğu yerde - Magnezyum hidroksit (MgO 2 H 2 ) olacaktır
MgO2H2
bir magnezyum atomu, iki oksijen atomu ve iki hidrojen atomu olduğu yerde.
Hiçbir zaman köşeli parantezleri tutmanız gerekmeyeceğini ve her öğenin formülde yalnızca bir kez bulunduğunu unutmayın.
Çoğu insan muhtemelen en rahat hissettikleri düzene bağlı kalırken, sıkı bir sipariş sistemi yoktur. Örneğin, su ya H2O
ya olarak verilebilir OH2
.
M r
Not: Burada, formül kütlesinin moleküler kütle ile aynı olduğunu varsayalım
M R bir bileşik, moleküler ağırlıktaki toplamıdır atom ağırlıkları molekülde atomu.
Desteklemeniz gereken tek element ve atomik ağırlıkları 1 ondalık basamağa (asil gazlar hariç hidrojen ila kalsiyum) aşağıdaki gibidir. Burada da bulunabilirler
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
Çıkışı her zaman bir ondalık basamağa vermelisiniz.
Örneğin, etanol ( C2H6O
) bir erime noktasına sahiptir r arasında 46.0
o elementlerin atom ağırlıkları toplamı olarak:
12.0 + 12.0 + 1.0 + 1.0 + 1.0 + 1.0 + 1.0 + 1.0 + 16.0
(2*C + 6*H + 1*O)
Giriş
Yukarıdaki formatta tek bir dize . Denkleme dahil edilen öğelerin gerçek temel semboller olacağını garanti edebilirsiniz.
Verilen bileşiğin gerçekte var olduğu garanti edilmez.
Çıktı
Bileşiğin toplam Mr'si , 1 ondalık basamağa kadar.
kurallar
Erişim elemanına veya kimyasal verilere izin verilmeyen yapı (üzgünüm Mathematica)
Örnekler
Input > Output
CaCO3 > 100.1
H2SO4 > 98.1
SF6 > 146.1
C100H202O53 > 2250.0
Kazanan
Bayt cinsinden en kısa kod kazanır.
Bu yazı caird coinheringaahing'in izniyle kabul edildi . (Yayın şimdi silindi)
NumberForm[#&@@#~ChemicalData~"MolecularMass",{9,1}]&
2H2O
mu , örneğin:?