Desafío
Dada la masa molecular de alta resolución de una molécula orgánica, genera la fórmula molecular de la molécula.
Explicación
La entrada será un solo número con tres decimales de precisión, la masa molecular relativa de la molécula.
Aquí, la masa molecular se define como la suma de las masas de los átomos en el compuesto. Como solo está encontrando las fórmulas moleculares de los compuestos orgánicos, las masas atómicas que necesita saber son:
- C , carbono: 12.011
- H , hidrógeno: 1.008
- O , oxígeno: 15.999
- N , nitrógeno: 14.007
Su fórmula solo debe contener carbono, hidrógeno, oxígeno o nitrógeno.
Al escribir la fórmula, debe tomar la forma:
CaHbOcNd
Cuando los elementos deben estar en ese orden ( C -> H -> O -> N
, por lo que C2O8N4H6
debe ser C2H6O8N4
) y a
, b
, c
y d
son números del elemento precedente en la molécula (es decir, C2
significa que hay dos átomos de carbono en la molécula).
Si a
, b
, c
o d
son cero, ese elemento no debería incluirse en la fórmula (por ejemplo, C2H6O2N0
debe ser C2H6O2
). Por último, si a
, b
, c
o d
son uno, no debería incluir el número en la fórmula (por ejemplo, C1H4
debería ser CH4
).
La entrada siempre será válida (es decir, habrá una molécula con esa masa). Si la entrada es ambigua (varias moléculas tienen la misma masa), solo debe generar una de las moléculas. Cómo elige esta molécula depende de usted.
Ejemplo trabajado
Supongamos que la entrada es 180.156
, solo hay una combinación de los elementos que pueden tener esta masa molecular:
12.011*6 + 1.008*12 + 15.999*6 + 14.007*0 = 180.156
Entonces hay:
- 6 carbonos
- 12 hidrógenos
- 6 oxígenos
- 0 Nitrógenos
Por lo tanto, su salida debería ser:
C6H12O6
Más ejemplos
Input -> Output
28.054 -> C2H4
74.079 -> C3H6O2
75.067 -> C2H5O2N
18.015 -> H2O
Victorioso
El código más corto en bytes gana.
28054
)
12.011
es la masa atómica relativa de carbono, que es un promedio ponderado de las masas isotópicas relativas de los isótopos. En un espectrómetro de masas, donde se distinguen diferentes isótopos, debería ver exactamente 12
. Similar para otros átomos.
672.336
tiene 24 soluciones posibles, incluida una solución de nitrógeno puro y una de hidrógeno puro.