GXNU410 ND题之逆向算式LOG
主要问题
链接不晓得怎么逆向出给的公式,高中没学好
double D = -400 * log10(1 / P - 1);
(1 / P -1)会处理,但是-400 * log10是个问题
log10(1 / P - 1)表示以10为底要乘得目标为结果为(1 / P - 1)的指数,也就是要得到D/400的指数。 然后再处理掉负号和400.
次要问题
看好题目,别把P和D弄反了,浪费时间 以及输出精度问题,精度老是不对,也不知道为什么会精简到整数。 只能用ai加入这行代码 C++中,cout.precision(numeric_limits::digits10); 这一行代码是用来设置输出流 cout 的精度,即控制输出浮点数时显示的有效数字位数。
下面是对这行代码的详细解释:
.precision() 是 cout 的一个成员函数,用来设置输出流中的浮点数精度,也就是小数点后的数字位数。.xxx好像都是成员函数的意思 numeric_limits 是 C++ 标准库中的模板类,用于确定特定数据类型(在这个例子中是 long double)的属性。numeric_limits 定义了数据类型的最小值、最大值、精度等一系列属性。 .digits10 是 numeric_limits 类的一个成员,它返回类型 long double 在十进制表示下可以不丢失精度地表示的最大有效数字位数。
竞赛废物错题本 文章被收录于专栏
记录自己的错题
