Giriş
Kimyada öğrendiğim ilk şeylerden biri, alkanların yanması için formül vermekti. En temel örnekti: 2CH4 + 4O2 > 4H2O + 2CO2
. Denklemin her katsayıyı 2'ye bölerek basitleştirilebileceğini unutmayın CH4 + 2O2 > 2H2O + CO2
. İşleri kolaylaştırmak için bu adımı göz ardı edeceğiz .
Herhangi bir alkanın yanmasıyla oksijenin kullanıldığını görebilirsiniz. Reaksiyondan sonra sadece CO2 ve H20 yapılır.
Görev:
STDIN veya mümkün olan en yakın eşdeğerden girdi alan ve STDOUT veya mümkün olan en yakın eşdeğeri kullanarak toplam reaksiyonu veren tam bir program verin.
Giriş daima şeklinde olacak C(n)H(2n+2)
olan n > 0
. Bunlar bazı örnek girdilerdir:
CH4
C2H6
C3H8
C4H10
C5H12
C6H14
etc.
Yararlı bir ipucu:
Her alkanın yanma reaksiyonunda standart bir deseni vardır:
2C(n)H(2n+2) + (3n+1)O2 > (2n+2)H2O + (2n)CO2
Örneğin
C4H10
Aşağıdaki denklem verir: 2C(4)H(2*4+2) + (3*4+1)O2 > (2*4+2)H2O + (2*4)CO2
. Her şeyi hesapladıktan sonra, bu son denklemi elde ederiz:2C4H10 + 13O2 > 10H2O + 8CO2
Örnekler:
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
Kurallar:
- Tam bir program sağlamanız gerekir.
- Programınızın STDIN'den veya mümkünse en yakın eşdeğerinden girdi alması gerekir.
- Programınızın STDOUT veya mümkünse en yakın eşdeğerini kullanarak çıktı alması gerekir.
- Okunabilirliği artırmak için örneklerde boşluk kullandığımı unutmayın, bunlar gerekli değildir .
2CH4 + 4O2 > 4H2O + 2CO2
ve2CH4+4O2>4H2O+2CO2
her ikisi de geçerli çıktılardır. Bununla birlikte, çıktı için sürekli olarak boşluklar kullanırsanız, % -10 bonus kazanırsınız - Bu kod golf , bu yüzden en az bayt miktarı ile program kazanır!