Herausforderung
Geben Sie angesichts der hochauflösenden Molekülmasse eines organischen Moleküls die Molekülformel des Moleküls aus.
Erläuterung
Die Eingabe ist eine einzelne Zahl mit drei Dezimalstellen Genauigkeit, der relativen Molekülmasse des Moleküls.
Hier ist die Molekülmasse als die Summe der Massen der Atome in der Verbindung definiert. Da Sie nur die Molekülformeln organischer Verbindungen finden, müssen Sie folgende Atommassen kennen:
- C , Kohlenstoff: 12,011
- H , Wasserstoff: 1,008
- O , Sauerstoff: 15,999
- N , Stickstoff: 14.007
Ihre Formel sollte immer nur Kohlenstoff, Wasserstoff, Sauerstoff oder Stickstoff enthalten.
Beim Schreiben der Formel sollte sie folgende Form annehmen:
CaHbOcNd
Wobei die Elemente in dieser Reihenfolge sein muss ( C -> H -> O -> Nso C2O8N4H6sollte sein C2H6O8N4) , und a, b, cund dZahlen sind , des vorhergehenden Elements in dem Molekül ( das heißt C2Mittel , dass es zwei Kohlenstoffatomen im Molekül).
Wenn a, b, coder dNull ist , sollte das Element nicht in der Formel eingeschlossen werden (zB C2H6O2N0soll C2H6O2). Wenn schließlich a, b, coder deins sind, sollten Sie nicht die Nummer in der Formel enthalten (zB C1H4sollte CH4).
Die Eingabe ist immer gültig (dh es gibt ein Molekül mit dieser Masse). Wenn die Eingabe nicht eindeutig ist (mehrere Moleküle haben dieselbe Masse), müssen Sie nur eines der Moleküle ausgeben. Wie Sie dieses Molekül auswählen, liegt bei Ihnen.
Gearbeitetes Beispiel
Angenommen, die Eingabe ist 180.156, dass es nur eine Kombination der Elemente gibt, die diese Molekülmasse haben können:
12.011*6 + 1.008*12 + 15.999*6 + 14.007*0 = 180.156
Es gibt also:
- 6 Kohlenstoffe
- 12 Wasserstoffatome
- 6 Sauerstoff
- 0 Stickstoffatome
Daher sollte Ihre Ausgabe sein:
C6H12O6
Mehr Beispiele
Input -> Output
28.054 -> C2H4
74.079 -> C3H6O2
75.067 -> C2H5O2N
18.015 -> H2O
Gewinnen
Der kürzeste Code in Bytes gewinnt.
28054)
12.011ist die relative Atommasse von Kohlenstoff, die ein gewichteter Durchschnitt der relativen Isotopenmassen der Isotope ist. In einem Massenspektrometer, in dem verschiedene Isotope unterschieden werden, sollten Sie genau sehen 12. Ähnliches gilt für andere Atome.
672.33624 mögliche Lösungen enthält, darunter eine reine Stickstoff- und eine reine Wasserstofflösung.