#P3299. Humidex

Humidex

题目描述

改编自维基百科(自由百科全书)

湿热指数(Humidex)是加拿大气象学家用于反映热量和湿度综合效应的度量。它与美国使用的热指数(Heat Index)不同,前者使用露点而非相对湿度。

当温度为30°C(86°F)且露点为15°C(59°F)时,湿热指数为34(注意湿热指数是无量纲数,但其数值表示近似的摄氏温度)。如果温度保持30°C而露点升至25°C(77°F),湿热指数将升至42.3。

在相同温度和相对湿度下,湿热指数往往高于美国的热指数。

当前确定湿热指数的公式由加拿大大气环境局的J.M. Masterton和F.A. Richardson于1979年开发。

根据加拿大气象局的数据,湿热指数至少为40时会引起“极大不适”,超过45则“危险”。当湿热指数达到54时,中暑迫在眉睫。

加拿大湿热指数的历史最高纪录出现在1953年6月20日,安大略省温莎市达到52.1(当时温莎居民尚不知道这一指数,因为湿热指数尚未发明)。最近,温莎和多伦多在1995年7月14日的湿热指数均达到50。

湿热指数公式如下:

[ \text{humidex} = \text{temperature} + h ]
[ h = (0.5555) \times (e - 10.0) ]
[ e = 6.11 \times \exp\left[ 5417.7530 \times \left( \frac{1}{273.16} - \frac{1}{\text{dewpoint} + 273.16} \right) \right] ]

其中 (\exp(x)) 表示以2.718281828为底的指数函数。

虽然湿热指数只是一个数值,但电台播音员常将其当作温度播报,例如:“外面47度……[停顿]……湿热指数。”有时气象报告会给出温度和露点,或温度和湿热指数,但很少同时报告三者。请编写一个程序,给定任意两个测量值,计算第三个值。

可以假设所有输入的温度、露点和湿热指数均在-100°C到100°C之间。

输入格式

输入由多行组成。除最后一行外,每行包含四个用空格分隔的项:一个字母、一个数字、第二个字母、第二个数字。每个字母表示其后数字的含义,字母可以是T(温度)、D(露点)或H(湿热指数)。最后一行输入仅包含字母E。

输出格式

对于除最后一行外的每行输入,输出一行,格式为:
T number D number H number

其中三个数字分别为温度、露点和湿热指数,均四舍五入到十分位(保留一位小数)。所有温度单位为摄氏度。

输入数据示例 1

T 30 D 15  
T 30.0 D 25.0  
E  

输出数据示例 1

T 30.0 D 15.0 H 34.0  
T 30.0 D 25.0 H 42.3  

来源

Waterloo 本地竞赛,2007.7.14