Görev
Sadece atom numarası 92 (Uranyum) 'a eşit veya daha az olan elemanlardan oluşan bir bileşiği alan ve bileşiğin molar kütlesini veren bir program yazın grams/mole
.
Kurallar ve Kısıtlamalar
- Molar kütleleri sizin için doğrudan hesaplayan bir işlev kullanamazsınız.
- Programınız çevrimdışı bir makinede çalışabilmelidir.
- Ayrı bir veri dosyası kullanabilirsiniz. Bu dosyanın içeriği sağlanmalıdır.
- Puanınız, programınızın bayt cinsinden uzunluğunun yanı sıra bir tane kullanmayı seçerseniz veri dosyanızın bayt cinsinden uzunluğudur.
- Bu kod golf , bu nedenle, en düşük puan kazanır.
Giriş
Bileşiği içeren bir dize. Bu dize okunabilir STDIN
, bağımsız değişken olarak geçirilebilir veya bir değişkene ayarlanabilir (lütfen hangisini belirtin). Aşağıdakilerin tümü geçerli girdilerdir:
CH2
(bir Karbon, iki Hidrojen)(CH2)8
(8 Karbon, 16 Hidrojen)U
(1 Uranyum)
Programınızın gömülü parantez (örn. ((CH3)2N4)4
) İçin veya atom numarası 92'den büyük olan bir öğe içeren herhangi bir bileşik için çalışması gerekmez. Programınız yukarıdaki iki durumdan hiçbirinde çalışmazsa, bu Invalid formula
gibi durumlar için çıktı almalıdır - tanımlanmamış davranış yok.
Çıktı
STDOUT
Bileşiğin molar kütlesini bir değişkene veya bir değişkene vermelisiniz grams/mole
. Elementlerin atomik kütlelerinin bir listesi burada bulunmaktadır (Wikipedia) . Cevabınız 100'den az atom içeren (yuvarlatılmış) bileşikler için ondalık basamağa kadar doğru olmalıdır.
Giriş geçersizse, çıktı Invalid formula
alınmalıdır.
Bir bileşiğin molar kütlesinin grams/mole
(Wikipedia) hesaplanması hakkında bilgi .
Örnekler
Input Output
H2O 18.015
O 15.999 (16 acceptable)
C6H2(NO2)3CH3 227.132
FOOF 69.995
C6H12Op3 Invalid formula
Np 237 (or Invalid formula)
((C)3)4 144.132 (or Invalid formula)
CodeGolf Invalid formula
13
atom kütlesi ise çıktı almak için izin varsayalım 12.999
?
U1000000
ondalık noktaya kütlesinden daha zorU2