问:请问在C或C++中如何求N个数的平均值?这N个数直接相加肯定会溢出因为INT类型只有32位有什么好的算法可以求吗?

答:如果要特别精确的话,就要用字符串表示的大整数了,
如果不需要特别精确的话
用double加下面的公式还是比较接近结果的
假设前n个数值的平均值为V(n),第n+1个数为T, 则前n+1个数的平均值为:
V(n+1) = (T - V(n)) / (n + 1) + V(n)

另一种类似的思路:

假定是偶数个数字:
1     2     3     4     5     6     7     8
-------------------------------------------- 第一轮计算每两个数的平均值
1.5         3.5         5.5         7.5
-------------------------------------------- 第二轮计算每两个数的平均值
2.5                     6.5
-------------------------------------------- 第三轮计算每两个数的平均值
4.5 <-- 这就是最后的平均值
如果是奇数个数字
1     2     3     4     5     6     7     8     9
----------------------------------------------------- 第一轮计算每两个数的平均值,最后一个数字不算
1.5         3.5         5.5         7.5         9
----------------------------------------------------- 第二轮计算每两个数的平均值,最后一个数字不算
2.5                     6.5                     9
----------------------------------------------------- 第三轮计算每两个数的平均值,最后一个数字不算
4.5(权重是8/9)                                  9(权重是1/9)
所以平均值 = 4.5 / 9 * 8 + 9 / 9 * 1 = 5  (注意要先除后乘,防止溢出)

转载于:https://www.cnblogs.com/iroultron/archive/2013/06/13/3133973.html

大数据量下求均值的方法相关推荐

  1. 大数据翻页_大数据量下的分页解决方法

    最好的办法是利用sql语句进行分页,这样每次查询出的结果集中就只包含某页的数据内容.再sql语句无法实现分页的情况下,可以考虑对大的结果集通过游标定位方式来获取某页的数据. sql语句分页,不同的数据 ...

  2. 一招教你解决大数据量下的各种报表使用问题

    在我们日常制作报表分析过程中,总会遇到各种问题.比如,报表底层数据日益增多.报表加载超慢,这些情况该怎么解决? 数据库是最常见的能处理大数据的计算方案,而永洪能利用数据库来完成数据计算.但是,有些报表 ...

  3. mysql source导入大数据量时效率提升的方法

    在对mysql数据库进行大数据量导入时,我通常是选择source命令进行导入,这样能比较短的时间内导入.但是,如果数据量大到一定量级时,即使是用source命令,效率也并不高.比如此次要导入的数据库文 ...

  4. 大数据量下,身份证的查询优化

    大数据量下,身份证的查询优化 这里是测试练习采用select *,实际场景中还是使用所有字段的形式,这样也可以提高效率 方式一:身份证分别正向.逆向存储,使用like逆序模糊查询,满足最左匹配原则,索 ...

  5. 大数据量下(批量)提升性能的方法以及常见的性能优化方法

    数据库层面(包含数据库设计和语句):尽量做到节省时间和数据库开销 1.让语句更加合理,符合查询优化的规则.避免全表扫描,建立高效索引,正确利用索引等. 2.避免频繁创建和删除临时表. 3.尽量避免向客 ...

  6. 大数据量下高并发同步的讲解(不看,保证你后悔)

    对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研 ...

  7. Java8 Stream 数据流,大数据量下的性能效率怎么样?

    今日推荐程序猿惯用口头禅,你被击中了吗? 常见代码重构技巧(非常实用) B站,牛啊. 程序员缺乏经验的 7 种表现 2021年4月程序员工资统计:平均14596元,南京程序员收入挤进一线. 来源:bl ...

  8. 大数据量下高并发同步的讲解(不看,保证你后悔!)

    偶然的机会在网上看到了这篇blog,觉得作者写得挺不错的(虽然自己并没有怎么看懂...),所以就转来跟大家分享分享吧~~~ 对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发 ...

  9. 大数据量下水晶报表的实现及显示过程中的进度条显示讨论

    最近一段收到的反馈中,有几位是问到在应用程序中使用水晶报表时,大数据量情况下因为等待时间过长,给用户的感觉不好 所以想增加一个进度条,给用户一个比较直观的印象. 本文针对此问题而生,但是并没有一个像样 ...

  10. iMobile中加载大数据量的矢量数据性能优化方法有哪些

    作者:xinxin 随着移动技术的发展,GIS行业中移动项目越来越多.在移动应用中不仅要对接在线的服务数据,还要加载各种本地的业务数据,GIS数据的量一般很大,而移动设备的内存有限,加载本地大数据量的 ...

最新文章

  1. Successor,Fesible Successor,FD,AD,eigrp
  2. 路由器级联后网速慢的原因分析和问题解决
  3. Java开发者必须知道的内存泄漏问题
  4. java执行jar中的main_浅谈java 执行jar包中的main方法
  5. C++案例-员工分组
  6. 工作102:设置url实现查询 秒呀
  7. PostgreSQL 配置内存参数
  8. 计算机语言工资排行,Python位居编程语言薪资排行榜前列!风变编程打造职场竞争力...
  9. PCL笔记八:关键点
  10. 机器学习scikit-learn(一)(转)
  11. google-glog功能介绍
  12. JS高级进阶总结day02---面向对象编程三大特征,原型链总结
  13. 量子态操作:基于门的三态旋转
  14. 爬虫训练场项目重要组件,导航栏+轮播图
  15. 一个有趣的python项目---一个好玩的网站
  16. 3G提速了,你敢用吗?
  17. windows10系统如何恢复被windows denfender自动删除的文件
  18. create database error:ORA-01501/ORA-01100
  19. R语言使用as.Date函数把dataframe中的多个数据列(multiple columns)从字符串转化到日期类型
  20. word-wrap: break-word和word-break: break-all的区别

热门文章

  1. WINDOWS 一键host地址绑定
  2. ThinkPHP2.1 增加PHPCMS模板引擎,支持PC标签(get,json)
  3. LayaAir textInput 单行输入多行输入
  4. 回归分析beta值的标准_多因子建模:回归法和打分法
  5. nested exception is java.io.FileNotFoundException: class path resource [spring/spring-datasource-mog
  6. C#/ASP.NET MVC微信公众号接口开发之从零开发(三)回复消息 (附源码)
  7. [LeetCode#81]Search in Rotated Sorted Array II
  8. CentOS 关闭暂不需要的系统服务
  9. Delphi中用Sender参数实现代码重用
  10. InstallShield - Kevin Wan的博文索引