【开篇BB】
继续码作业,其实是第一周的算法,拖到了写在才码上来orz,开学已经三周又逐渐懈怠了qaq
这次的题目是【计算π值的问题能精确求解吗? 设计求解π值的算法。】
显然这种题目我是不会做了,但是作业还得交,所以只能各处查资料拼出来这一篇态度看起来还比较良好的汇总稿orz
/
蒙特卡洛方法
圆周率π是一个无理数,没有任何一个精确公式能够计算π值, π的计算只能采用近似算法。
国际公认的PI值计算采用蒙特卡洛方法,又称随机抽样或统计试验方法。首先构造一个单位正方形和1/4圆
随机向单位正方形和圆结构抛洒大量点,对于每个点,可能在圆内或者圆外,当随机抛点数量达到一定程度,圆内点将构成圆的面积,全部抛点将构成矩形面积。圆内点数除以圆外点数就是面积之比,即π/4。随机点数量越大,得到的π值越精确。
参考:博客园Π的计算 https://www.cnblogs.com/aze-003/p/5127192.html
反三角函数的算法
求2arcsin1或arccos(-1)或4arctan1也等于π,其中反三角函数用泰勒展开表示(我高数不好,不太会写)
下图是查到的一段推导