【发布时间】:2012-04-27 20:43:49
【问题描述】:
有没有办法在不使用数组的情况下计算所有数字的平均值/最小值/最大值?每秒需要计算多达 10,000 个数字。
【问题讨论】:
-
如果合适,请添加作业标签。
-
我看到许多解决方案提到保留所有数字的总和。这可能会导致溢出吗?
-
@ColinD:为了得到一个系列的平均值,你必须在某个时候把它加起来。
-
@ColinD:这取决于规范。使用 64 位计数器添加 32 位整数是非常安全的;)
-
@ColinD:你会很快失去精度。整数除法会去掉小数部分(你认为将它乘回去会发生什么?),浮点除法会受到舍入误差的影响。此外,这不会使您免于溢出。将 65536 乘以 65536,它将不再适合 int32。
标签: c++ performance algorithm