【开篇BB】

继续码作业,其实是第一周的算法,拖到了写在才码上来orz,开学已经三周又逐渐懈怠了qaq

这次的题目是【计算π值的问题能精确求解吗? 设计求解π值的算法。】
显然这种题目我是不会做了,但是作业还得交,所以只能各处查资料拼出来这一篇态度看起来还比较良好的汇总稿orz

/

蒙特卡洛方法

圆周率π是一个无理数,没有任何一个精确公式能够计算π值, π的计算只能采用近似算法。

国际公认的PI值计算采用蒙特卡洛方法,又称随机抽样或统计试验方法。首先构造一个单位正方形和1/4圆

随机向单位正方形和圆结构抛洒大量点,对于每个点,可能在圆内或者圆外,当随机抛点数量达到一定程度,圆内点将构成圆的面积,全部抛点将构成矩形面积。圆内点数除以圆外点数就是面积之比,即π/4。随机点数量越大,得到的π值越精确。

参考:博客园Π的计算 https://www.cnblogs.com/aze-003/p/5127192.html

反三角函数的算法

求2arcsin1或arccos(-1)或4arctan1也等于π,其中反三角函数用泰勒展开表示(我高数不好,不太会写)
下图是查到的一段推导

参考:百度知道 https://zhidao.baidu.com/question/180896945.html

马青公式

比直接用反三角函数方法精确度更高的马青公式

推导过程:

将公式中的arctan()用泰勒级数展开可以求解

高斯勒让德迭代算法


参考:https://baijiahao.baidu.com/s?id=1642938913706777216&wfr=spider&for=pc

最后一段莫名其妙的高端代码

我也看不懂,也不知道是哪种算法得来的:

#include<stdio.h>
long a=10000,b,c=2800,d,e,f[2801],g;
main(){for(;b-c;)   f[b++]=a/5;for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)         for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}

参考:博客园 https://www.cnblogs.com/Bone-ACE/p/4531296.html

此外肯定还有更多各种各样的算法,可能还有更高级的算法未来会有带科学家们推演出来
【END】

【算法】汇总:求解π值的算法相关推荐

  1. 自动驾驶中的车道线检测算法汇总

    对近两年来车道线检测算法进行汇总,后期将会保持不断更新~ 1.Efficient Road Lane Marking Detection with Deep Learning 2.VPGNet: Va ...

  2. Java开发 三角形算法汇总

    Java开发 三角形算法汇总 文章简介 直角三角形算法 取边长 任意三角形 求边长 求夹角 文章简介 本文汇总一下三角形算法,包含 求边长.求角度等常用函数 直角三角形算法 取边长 勾股定理,是一个基 ...

  3. 聚类算法 距离矩阵_模糊聚类算法

    模糊聚类算法 1.如何理解模糊聚类 事物间的界线,有些是明确的,有些则是模糊的.当聚类涉及到事物之间的模糊界线时,需要运用模糊聚类分析方法. 如何理解模糊聚类的"模糊"呢:假设有两 ...

  4. 蚁群算法ACO求解连续函数最值问题

    目录 一.蚁群算法特点 二.基本蚁群算法及其流程 三.改进蚁群算法 1.精英蚂蚁系统 2.最大最小蚂蚁系统 3.基于排序的蚁群算法 4.自适应蚁群算法 四.例题 一.蚁群算法特点 (1)自组织算法 组 ...

  5. 机器学习-无监督学习-聚类:聚类方法(一)--- k-Means(k-均值)算法,k-Means++算法【使用最大期望值算法(EM算法)来求解】

    一.聚类算法 1.聚类算法概述 聚类算法:一种典型的无监督学习算法(没有目标值),主要用于将相似的样本自动归到一个类别中.在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计 ...

  6. Logistic Regression--逻辑回归算法汇总

    Logistic Regression--逻辑回归算法汇总** 转自别处 有很多与此类似的文章  也不知道谁是原创 因原文由少于错误 所以下文对此有修改并且做了适当的重点标记(横线见的内容没大明白 并 ...

  7. 常用机器学习算法汇总比较(完)

    机器学习入门系列(2)–如何构建一个完整的机器学习项目,第九篇! 该系列的前八篇文章: 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一) 机器学习数据集的获取和测试集的构建方法 特征工程之 ...

  8. 常用机器学习算法汇总(中)

    机器学习入门系列(2)–如何构建一个完整的机器学习项目,第八篇! 该系列的前七篇文章: 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一) 机器学习数据集的获取和测试集的构建方法 特征工程之 ...

  9. 常用机器学习算法汇总

    常用机器学习算法汇总 从一个项目的终极目标.寻找和获取数据,到数据预处理,做特征工程,接下来就需要开始选择合适的算法模型,进行训练评估和测试了. 所以接下来会整理下比较常用的机器学习算法的汇总比较,包 ...

最新文章

  1. Linux系统的快照是什么,linux – 文件系统快照与简单复制文件有何不同?
  2. Web测试实践-任务进度-Day02
  3. PHP上传文件大小限制问题 post_max_size对大小的影响及解决方法
  4. 【Linux】6.服务器会话的screen用法
  5. 逐渐增高_钩机加长臂的销量持续增高成为热点话题!
  6. Jackson序列化和反序列化
  7. BZOJ 3436: 小K的农场( 差分约束 )
  8. 技术回归本位:海尔引领空调产业重构格局
  9. python考试题库程序改错_求助,程序改错
  10. 程序员的自我修养——远离“外包思维”
  11. The X protocol C-language Binding (XCB) is a replacement for Xlib
  12. linux shell crontab 定时操作(转)
  13. 《托马斯微积分》阅读笔记1
  14. depot_tools
  15. 数据寻址——偏移寻址
  16. 星际、魔兽3、红警完全对比
  17. 计算机网络初探教案,计算机网络基础知识教案.doc
  18. DNS添加/修改/查询/删除A记录
  19. 三大运营商URL欺骗;手机免费上网,测试,教程,服务器
  20. php公众号用户关注,微信公众号获取用户信息(用户关注公众号)

热门文章

  1. siggraph_Siggraph的统一性
  2. siggraph_SIGGRAPH的Unity
  3. 用R来求解一元二次方程
  4. 89.破碎的玻璃横幅
  5. html图片如何和输入框并排,闪亮的4个小文本输入框并排
  6. php两个并排的按钮,如何并排设置2个按钮
  7. 巴比特专访丨Afri谈退出以太坊:再见,“分手”后依然是朋友
  8. mac上使用nginx代理
  9. mysql删除分表键_一文看懂 MySQL 分区和分表,提高表增删改查效率
  10. C++ 字符串和数字拼接