POJ 3299 - 练手题

博主分享了重新刷算法题的经历,从POJ的练手题开始。文章中提到题目没有明显难点,主要需要注意反推dewpoint计算公式,并指出初次提交时因未将结果近似到一位小数导致WA。博主还提醒,题目给的数据范围可以用于判断特殊情况。
摘要由CSDN通过智能技术生成

好久没有刷算法题了,于是打算从头刷一刷POJ,从练手题开始!

公式题目已经给了,所以这道题没什么难点,如果非要说的话可能就是需要自己反推一下dewpoint的计算公式;我比较懒所以就用了两个变量存了一下,其实也完全可以省略的。

刚开始WA了几次,后来才发现是因为输出结果的数字没有近似到一位小数。

#include <iostream>
#include <cmath>
#include <math.h>
#include <iomanip>

using namespace std;

double placeholder = 101;

double h_from_dewpoint(double d) {
    return 0.5555 * ((6.11 * pow(2.718281828, (5417.7530 * ((1/273.16) - (1/(d+273.16)))))) - 10.0);
}

double dewpoint_from_h(double h) {
    double e = (h / 0.5555 + 10.0) / 6.11;
    double power = log(e) / log(2.718281828);
    return 1 / (1/273.16 - power / 5417.7530) - 273.16;
}

void helper(double t, double d, double h) {
    if (t == placeholder) {
        t = h - h_from_dewpoint(d);
    } else if (d == placeholder) {
        d = dewpoint_from_h(h - t);
    } else {
        h = t + h_from_de
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值