#19238. 异星之海的pH试纸

异星之海的pH试纸

你好,我是阿西莫夫。

在数学的浩瀚星空中,对数(Logarithm) 是那架能将巨人的步伐缩小的望远镜。它能把天文数字般的乘除法,降维成简单的加减法。

对于初中生而言,最常接触到“对数”的场景,除了数学课本上的定义,莫过于化学课上的 pH值(酸碱度) 了。这正是一个绝佳的跨学科考察点:它结合了极小数值的浮点数处理对数函数的应用

我为你构思了这道题目,背景设定在对异星海洋的探索上。


[OI 题库] 异星之海的 pH 试纸 (The Alien Ocean's pH)

题目背景

“如果你想知道这片海能不能孕育生命,别只盯着水看,要去问问溶解在里面的氢离子。” —— 《基地与地球》

作为“盖亚计划”的首席化学家,你正在分析一颗新发现的宜居行星——奥罗拉(Aurora)上的海洋样本。为了判断这些水域是否适合地球生物生存,你需要计算海水的酸碱度(pH值)。

根据化学定义,pH值是溶液中氢离子浓度 [H+][H^+] 的常用对数负值:

pH=lg([H+])=log10([H+])pH = -\lg([H^+]) = -\log_{10}([H^+])

其中 [H+][H^+] 表示氢离子的浓度(单位:mol/L)。

题目描述

输入一个浮点数 CC,代表样本中氢离子的浓度 [H+][H^+]。 请计算该样本的 pH 值,并根据以下规则判断水质属性:

  1. 酸性 (Acidic)pH<7.0pH < 7.0
  2. 中性 (Neutral)pH=7.0pH = 7.0
  3. 碱性 (Alkaline)pH>7.0pH > 7.0

输入格式

一行,一个浮点数 CC,表示氢离子浓度。 (输入可能采用普通小数形式如 0.01,或科学计数法形式如 1e-7)。

输出格式

第一行:输出计算得到的 pH 值,保留 1 位小数。 第二行:输出水质属性,为 AcidicNeutralAlkaline 之一。

样例数据

样例 1 (纯水)

1e-7
7.0
Neutral

(解析:log10(107)=(7)=7.0-\log_{10}(10^{-7}) = -(-7) = 7.0)

样例 2 (酸)

0.01
2.0
Acidic

(解析:0.01=1020.01 = 10^{-2}log10(102)=2.0-\log_{10}(10^{-2}) = 2.0)

样例 3 (碱)

0.0000000001
10.0
Alkaline

数据范围

  • 1.0×1014C1.01.0 \times 10^{-14} \le C \le 1.0
  • 保证计算出的 pH 值在 [0,14][0, 14] 范围内。
  • 注意:在计算机中判断 pH=7.0pH = 7.0 时,需要考虑浮点数误差。题目规定:若 pH7.0106|pH - 7.0| \le 10^{-6},则视为中性。