Einführung
Eines der ersten Dinge, die ich in der Chemie gelernt habe, war die Angabe der Formel für die Verbrennung von Alkanen. Das grundlegendste Beispiel war: 2CH4 + 4O2 > 4H2O + 2CO2
. Beachten Sie, dass die Gleichung vereinfacht werden könnte, indem jeder Koeffizient durch 2 geteilt wird CH4 + 2O2 > 2H2O + CO2
. Um die Sache zu vereinfachen, werden wir diesen Schritt ignorieren .
Sie können sehen, dass bei der Verbrennung eines Alkans Sauerstoff verwendet wird. Nach der Reaktion entstehen nur CO2 und H2O.
Die Aufgabe:
Geben Sie ein vollständiges Programm an, das Eingaben von STDIN oder dem nächstmöglichen Äquivalent annimmt und die Gesamtreaktion mit STDOUT oder dem nächstmöglichen Äquivalent ausgibt.
Die Eingabe erfolgt immer in der Form C(n)H(2n+2)
mit n > 0
. Dies sind einige Beispieleingaben:
CH4
C2H6
C3H8
C4H10
C5H12
C6H14
etc.
Ein nützlicher Tipp:
Jedes Alkan hat ein Standardmuster in der Verbrennungsreaktion:
2C(n)H(2n+2) + (3n+1)O2 > (2n+2)H2O + (2n)CO2
z.B
C4H10
gibt die folgende Gleichung: 2C(4)H(2*4+2) + (3*4+1)O2 > (2*4+2)H2O + (2*4)CO2
. Nachdem wir alles berechnet haben, erhalten wir diese endgültige Gleichung:2C4H10 + 13O2 > 10H2O + 8CO2
Beispiele:
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
Regeln:
- Sie müssen ein vollständiges Programm bereitstellen.
- Ihr Programm muss Eingaben von STDIN oder dem nächstgelegenen Äquivalent erhalten, wenn dies nicht möglich ist.
- Ihr Programm muss mit STDOUT oder dem nächstgelegenen Äquivalent ausgegeben werden, falls dies nicht möglich ist.
- Beachten Sie, dass ich Leerzeichen für die Beispiele verwendet habe, um die Lesbarkeit zu verbessern. Diese sind nicht erforderlich .
2CH4 + 4O2 > 4H2O + 2CO2
und2CH4+4O2>4H2O+2CO2
sind beide gültige Ausgaben. Wenn Sie jedoch konsequent Leerzeichen für die Ausgabe verwenden, erhalten Sie einen Bonus von -10% - Das ist Code-Golf , also gewinnt das Programm mit der geringsten Anzahl von Bytes!