$题解 P2394 【yyy loves Chemistry I】$

$ P2394 ?yyy ?loves ? Chemistry ?I$

感觉这道题没这么难啊?本蒟蒻还是很疑惑,为什么评分为普及+/提高呢?
好了,废话不多说,一起愉快地做题吧!



\[First:\text{输入}\]
我相信,第一次做题的时候,大多数的人都会这么输入

scanf("%Lf",&a);

但这么输入是错误的,为什么呢?因为\(a\)的精度你无法确定,而long double的精度只有\(18-19\)位。
那怎么办呢?别急别急,喝口茶慢慢说,好在scanf可以强制提高精度,所以,我们把精度调至\(16\)位(因为输出只要求\(8\)位),像这样\(:\)

scanf("%16Lf",&n);  //long double是Lf!Lf!!Lf!!!

就\(OK\)了。



\[Second:\text{输出}\]
输出简单,直接

printf("%.8Lf\n",a/23);  //输出保留8位小数

就可以了。



\(My \ complete \ code:\)

#include<bits/stdc++.h>
int main()
{
    long double a;
    scanf("%16Lf",&a);
    printf("%.8Lf\n",a/23);
    return 0;
}

原文地址:https://www.cnblogs.com/Luke-Skywalker/p/11329038.html

时间: 2024-10-14 08:24:44