Desafio
Dada a massa molecular de alta resolução de uma molécula orgânica, produz a fórmula molecular da molécula.
Explicação
A entrada será um número único com três casas decimais de precisão, a massa molecular relativa da molécula.
Aqui, a massa molecular é definida como a soma das massas dos átomos no composto. Como você só encontra as fórmulas moleculares dos compostos orgânicos, as massas atômicas que você precisa conhecer são:
- C , carbono: 12.011
- H , hidrogênio: 1.008
- O , oxigênio: 15.999
- N , nitrogênio: 14.007
Sua fórmula deve sempre conter apenas carbono, hidrogênio, oxigênio ou nitrogênio.
Ao escrever a fórmula, ela deve assumir a forma:
CaHbOcNd
Onde os elementos devem estar nessa ordem ( C -> H -> O -> N, por isso C2O8N4H6deve ser C2H6O8N4) e a, b, ced são números do elemento precedente na molécula (isto é, C2significa que há dois átomos de carbono na molécula).
Se a, b, cou dsão iguais a zero, este elemento não deve ser incluído na fórmula geral (por exemplo, C2H6O2N0deve ser C2H6O2). Finalmente, se a, b, cou dé um, você não deve incluir o número na fórmula (por exemplo, C1H4deve serCH4 ).
A entrada sempre será válida (ou seja, haverá uma molécula com essa massa). Se a entrada for ambígua (várias moléculas têm a mesma massa), você deve produzir apenas uma das moléculas. Como você escolhe esta molécula é com você.
Exemplo Trabalhado
Suponha que a entrada seja 180.156, existe apenas uma combinação dos elementos que podem ter essa massa molecular:
12.011*6 + 1.008*12 + 15.999*6 + 14.007*0 = 180.156
Então existem:
- 6 carbonos
- 12 Hidrogênios
- 6 Oxygens
- 0 nitrogênio
Portanto, sua saída deve ser:
C6H12O6
Mais exemplos
Input -> Output
28.054 -> C2H4
74.079 -> C3H6O2
75.067 -> C2H5O2N
18.015 -> H2O
Ganhando
O menor código em bytes vence.
28054)
12.011é a massa atômica relativa do carbono, que é uma média ponderada das massas isotópicas relativas dos isótopos. Em um espectrômetro de massa, onde diferentes isótopos são distinguidos, você deve ver exatamente 12. Semelhante para outros átomos.
672.336possui 24 soluções possíveis, incluindo uma solução de nitrogênio puro e uma de hidrogênio puro.