introduzione
Una delle prime cose che ho imparato in chimica è stata la formula per la combustione degli alcani. L'esempio più semplice è: 2CH4 + 4O2 > 4H2O + 2CO2
. Si noti che l'equazione avrebbe potuto essere semplificata dividendo ogni coefficiente per 2, otterremmo CH4 + 2O2 > 2H2O + CO2
. Per semplificare le cose, ignoreremo questo passaggio .
Puoi vedere che con la combustione di qualsiasi alcano viene utilizzato ossigeno. Dopo la reazione, vengono prodotti solo CO2 e H2O.
L'obiettivo:
Fornire un programma completo che prende input da STDIN o dall'equivalente più vicino possibile e produce la reazione totale usando STDOUT o l'equivalente possibile più vicino.
L'input sarà sempre nella forma C(n)H(2n+2)
, con n > 0
. Questi sono alcuni input di esempio:
CH4
C2H6
C3H8
C4H10
C5H12
C6H14
etc.
Un consiglio utile:
Ogni alcano ha uno schema standard nella reazione di combustione:
2C(n)H(2n+2) + (3n+1)O2 > (2n+2)H2O + (2n)CO2
per esempio
C4H10
fornisce la seguente equazione: 2C(4)H(2*4+2) + (3*4+1)O2 > (2*4+2)H2O + (2*4)CO2
. Dopo aver calcolato tutto, otteniamo questa equazione finale:2C4H10 + 13O2 > 10H2O + 8CO2
Esempi:
input: CH4
output: 2CH4 + 4O2 > 4H2O + 2CO2
input: C3H8
output: 2C3H8 + 10O2 > 8H2O + 6CO2
input: C4H10
output: 2C4H10 + 13O2 > 10H2O + 8CO2
input: C12H26
output: 2C12H26 + 37O2 > 26H2O + 24CO2
Regole:
- Devi fornire un programma completo.
- Il tuo programma deve ricevere input da STDIN, o l'equivalente più vicino se non è possibile.
- Il tuo programma deve essere emesso usando STDOUT o l'equivalente più vicino se non è possibile.
- Si noti che ho usato spazi per gli esempi per aumentare la leggibilità, questi non sono necessari .
2CH4 + 4O2 > 4H2O + 2CO2
e2CH4+4O2>4H2O+2CO2
sono entrambi output validi. Tuttavia, se usi costantemente spazi per l'output, otterrai un bonus del -10% - Questo è code-golf , quindi vince il programma con il minor numero di byte!