Wprowadzenie
Jedną z pierwszych rzeczy, których nauczyłem się w chemii, było podanie wzoru na spalanie alkanów. Najbardziej podstawowym przykładem: 2CH4 + 4O2 > 4H2O + 2CO2
. Zauważmy, że równanie można by uprościć, dzieląc każdy współczynnik przez 2, otrzymalibyśmy CH4 + 2O2 > 2H2O + CO2
. Aby to ułatwić, zignorujemy ten krok .
Widać, że przy spalaniu dowolnego alkanu wykorzystywany jest tlen. Po reakcji powstają tylko CO2 i H2O.
Zadanie:
Podaj kompletny program, który pobiera dane wejściowe ze STDIN lub najbliższego możliwego równoważnika i wysyła całkowitą reakcję za pomocą STDOUT lub najbliższego możliwego równoważnika.
Dane wejściowe zawsze będą miały postać C(n)H(2n+2)
, z n > 0
. Oto kilka przykładowych danych wejściowych:
CH4
C2H6
C3H8
C4H10
C5H12
C6H14
etc.
Przydatna wskazówka:
Każdy alkan ma standardowy wzór w reakcji spalania:
2C(n)H(2n+2) + (3n+1)O2 > (2n+2)H2O + (2n)CO2
na przykład
C4H10
daje następujące równanie: 2C(4)H(2*4+2) + (3*4+1)O2 > (2*4+2)H2O + (2*4)CO2
. Po obliczeniu wszystkiego otrzymujemy końcowe równanie:2C4H10 + 13O2 > 10H2O + 8CO2
Przykłady:
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
Zasady:
- Musisz podać pełny program.
- Twój program musi pobierać dane ze STDIN lub najbliższego odpowiednika, jeśli nie jest to możliwe.
- Twój program musi generować dane wyjściowe przy użyciu STDOUT lub najbliższego odpowiednika, jeśli nie jest to możliwe.
- Zauważ, że użyłem spacji w przykładach, aby zwiększyć czytelność, nie są one konieczne .
2CH4 + 4O2 > 4H2O + 2CO2
i2CH4+4O2>4H2O+2CO2
oba są prawidłowymi danymi wyjściowymi. Jeśli jednak konsekwentnie używasz spacji na wyjściu, zyskujesz premię -10% - To jest golf golfowy , więc wygrywa program z najmniejszą liczbą bajtów!