#P2006. Litmus Test
Litmus Test
描述
pH 值用于测量溶液中质子(H⁺)的浓度,从而判断溶液的酸碱性。溶液的 pH 值是一个介于 0 到 14 之间的数值;如果溶液是酸性的,pH 值小于 7;如果溶液是碱性的,pH 值大于 7;如果溶液是中性的,pH 值为 7。
计算 pH 值的公式为
其中, 是溶液中质子的浓度,单位为摩尔每升。
为了计算酸的 pH 值,需要确定溶液中质子的浓度。当酸溶于水中时,会达到一种平衡,其平衡方程为
$$K_a = \frac{[\text{H}^+] [\text{酸离子}]}{[\text{酸}]} $$其中, 是酸的酸性常数(每种酸都有一个已知的值), 是溶解的酸离子的浓度, 是未溶解的酸的浓度。在加入酸之前, 和 均假设为 0。
例如,甲酸的酸性常数为 。每溶解 1 摩尔的酸分子,会产生 1 摩尔的 H⁺ 和 1 摩尔的酸离子。如果初始的甲酸浓度为 摩尔/升,且有 摩尔的酸溶解(每升),那么在平衡时,酸的浓度为 摩尔/升,H⁺ 和酸离子的浓度均为 摩尔/升。
输入
输入包含多个测试用例。每个测试用例包含一行中的 4 个数字:前两个是正浮点数,分别表示酸的酸性常数 和加入水中的酸的初始浓度(单位为摩尔/升),后两个是正整数 和 ,分别表示每摩尔酸分子溶解后生成的 H⁺ 离子和酸离子的摩尔数。浮点数以科学计数法的形式给出,如示例所示。输入以包含四个零的行结束。
输出
对于每个测试用例,输出溶液的 pH 值,结果保留三位小数。
输入数据 1
1.6e-04 1.0e-01 1 1
1.6e-04 1.0e-01 4 1
1.5e-05 5.0e-02 1 2
0 0 0 0
输出数据 1
2.407
2.101
3.216
来源
Rocky Mountain 2004