c++ - 是否有其他订单的平方根函数?

标签 c++ math

我必须计算这个数字的平方。我不知道变量 m 的英文名称是什么。 enter image description here

最佳答案

由于大量数字的乘积可能会变得异常大,通常最好将几何平均值计算为数字对数的普通算术平均值的指数。

C++ 标准库提供用于自然对数的log 和用于以e 为底的指数的exp。因此:

#include <math.h>

auto geometric_mean( double const* const first, double const* const past_end )
    -> double
{
    double sum = 0;
    for( double const* p = first; p != past_end; ++p )
    {
        sum += log( *p );
    }
    const int n = past_end - first;
    return exp( sum/n );
}

您可以使用 std::accumulate 代替循环。

免责声明:代码未经编译器处理。

关于c++ - 是否有其他订单的平方根函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35716582/

相关文章:

Java更精确的算术

c++ - 如何解析质数的倍数 C++?

ios - 如何计算不接触 UIView 的随机 CGPoint

c++ - 为什么我的程序有时只能正确识别数组中的最高值和最低值?

c++ - 将结构传递给 C++ 中的函数

c++ - 如何计算c++中字符串中空格的出现次数

c++ - 如何在C++中将UTC日期和时间转换为time_t?

python - 将随机数量的随机数写入文件并返回它们的平方

c++ - Windows 中的 Phantom\.txt 文件

c++ - 在 C++ 中将一天中的小时数和星期几转换为日期时间