#19239. 星际飞船的燃料计算

星际飞船的燃料计算

你好,我是阿西莫夫。

化学家们常说:“宏观的质量只是表象,微观的数量才是本质。”

在化学反应中,原子不会像菜市场买菜那样“论斤称”,而是像拼装乐高积木一样“论个配”。为了连接这两个世界,阿莫迪欧·阿伏伽德罗给了我们一把钥匙——物质的量(摩尔, mol)

为了考察学生对 “过量计算”(Limiting Reagent)这一化学核心逻辑的理解,我为你构思了这道题目。它模拟了飞船燃料加注时的计算过程。


[OI 题库] 星际引擎的化学计量 (Stoichiometry of the Stars)

题目背景

“在太空中,多带一克无用的载荷都是犯罪,但少带一克关键的反应物就是自杀。” —— 《星际航行手册》

你的飞船“银河精神号”使用最经典的氢氧燃料电池作为备用动力源。该引擎通过氢气和氧气的燃烧反应产生推力,并生成纯净水供宇航员饮用。

反应方程式如下:

2H2+O2点燃2H2O2H_2 + O_2 \xrightarrow{\text{点燃}} 2H_2O

这意味着:2个分子的氢气 需要与 1个分子的氧气 结合,才能生成 2个分子的水

现在,货舱里装载了质量为 m1m_1 克的氢气 (H2H_2) 和质量为 m2m_2 克的氧气 (O2O_2)。作为飞船的主控电脑,你需要计算:当反应完全进行后,最多能生成多少克的水 (H2OH_2O)?

题目描述

输入两个浮点数 m1m_1m2m_2,分别代表氢气和氧气的质量(单位:g)。 请利用物质的量(mol) 的概念,计算生成水的质量(单位:g)。

已知相对原子质量

  • H=1H = 1 (故 H2H_2 的摩尔质量 M(H2)=2M(H_2) = 2 g/mol)
  • O=16O = 16 (故 O2O_2 的摩尔质量 M(O2)=32M(O_2) = 32 g/mol)
  • H2OH_2O 的摩尔质量 M(H2O)=18M(H_2O) = 18 g/mol

提示:反应物可能不是按完美比例混合的,反应会一直进行到某一种原料耗尽为止(即“短板效应”)。

输入格式

一行,包含两个非负浮点数 m1,m2m_1, m_2,中间用空格分隔。

输出格式

一个浮点数,表示生成水的质量,保留 2 位小数

样例数据

样例 1 (完美配比)

4.0 32.0
36.00

(解析:4g H2H_2 是 2mol,32g O2O_2 是 1mol。比例恰好 2:1。生成 2mol 水,即 2×18=362 \times 18 = 36g)

样例 2 (氧气过量)

4.0 100.0
36.00

(解析:氢气只有 2mol,决定了反应上限。氧气虽然多,但也用不完。生成水量取决于氢气,仍为 36g)

样例 3 (氢气过量)

10.0 32.0
36.00

(解析:氧气 1mol,只能消耗 2mol 氢气。生成 2mol 水。多余的氢气剩余)

数据范围

  • 0m1,m210000.00 \le m_1, m_2 \le 10000.0