c++ - 如何计算 int64_t 的平均值

标签 c++ math average mean

<分区>

我需要计算 n 个数字的平均值。 N 在编译时是未知的。每个数字都可以是 int64_t 类型,但我知道 average 也适合 int64_t 类型。问题是 n 个数字的总和对于 int64_t 来说可能太大了。 有什么建议吗?

最佳答案

没有溢出的两个nos的平均值

  Average = (a / 2) + (b / 2) + (((a % 2) + (b % 2)) / 2)

这也可以扩展到 n 个数字。

假设你有 n 个数字,来自 N1, N2....Nn-1, Nn

Average = (N1 / n) + (N2 / n) +.....+ (Nn-1 / n) + (Nn / n)

                            +

          ((N1 % n) + (N2 % n) +.....+ (Nn-1 % n) + (Nn % n)) / n

关于c++ - 如何计算 int64_t 的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56663116/

相关文章:

java - 选择一种语言来编写技术工程数学(我可以使用 Java 吗?)

algorithm - 计算二进制矩阵中的所有路径

sql - 如何在嵌套查询中计算每年的平均值?

r - 使用R来获取波动率,并使用Peak求平均值。互联网流量数据比例

c++ - 从 C++ 调用 MSWord 的最佳方法是什么

c++ - 如何将cin读入动态数组?

c++ - 跨 32 和 64 链接到静态 glib-2.0 库

javascript - 将数字数组分成相等部分的子数组,并从给定的整数中随机化

c++ - Qt C++ 连接QPushButton 点击

mysql - 在 mySQL 中对负 float 使用 AVG() 的意外结果