Вступ
Одне з перших речей, які я навчився в хімії, - це давати формулу спалювання алканів. Найпростіший приклад був: 2CH4 + 4O2 > 4H2O + 2CO2
. Зауважимо, що рівняння можна було б спростити, діливши кожен коефіцієнт на 2, ми отримали б CH4 + 2O2 > 2H2O + CO2
. Щоб полегшити справи, ми ігноруємо цей крок .
Видно, що при спалюванні будь-якого алкану використовується кисень. Після реакції утворюються лише CO2 і H2O.
Завдання:
Надайте повну програму, яка приймає дані від STDIN або найближчого можливого еквівалента, і виводить загальну реакцію, використовуючи STDOUT або найближчий можливий еквівалент.
Вхід завжди буде у формі C(n)H(2n+2)
, з n > 0
. Ось деякі приклади входів:
CH4
C2H6
C3H8
C4H10
C5H12
C6H14
etc.
Корисна порада:
Кожен алкан має стандартну схему реакції горіння:
2C(n)H(2n+2) + (3n+1)O2 > (2n+2)H2O + (2n)CO2
напр
C4H10
дає наступне рівняння: 2C(4)H(2*4+2) + (3*4+1)O2 > (2*4+2)H2O + (2*4)CO2
. Обчисливши все, ми отримаємо це підсумкове рівняння:2C4H10 + 13O2 > 10H2O + 8CO2
Приклади:
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
Правила:
- Вам потрібно надати повну програму.
- Ваша програма повинна брати дані від STDIN або найближчого еквівалента, якщо це неможливо.
- Ваша програма повинна виводити за допомогою STDOUT або найближчого еквівалента, якщо це неможливо.
- Зауважте, що я використовував пробіли для прикладів для збільшення читабельності, це не потрібно .
2CH4 + 4O2 > 4H2O + 2CO2
і2CH4+4O2>4H2O+2CO2
є обома дійсними результатами. Однак якщо ви послідовно використовуєте пробіли для виводу, ви отримуєте бонус -10% - Це код-гольф , тому програма з найменшою кількістю байтів виграє!