美文网首页
求π的两种方法

求π的两种方法

作者: bad_boy | 来源:发表于2018-11-24 19:36 被阅读17次

圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,在数学及物理学中普遍存在的数学常数,但它是一个无理数,即无限不循环小数。
下面介绍两种方法求π:

方法1,蒙特卡洛方法

随机产生n个点,计算它们与中心点的距离是否大于圆的半径,以此判断是否落在圆的内部,根据落在正方形和圆内的点数的比值进行计算。


蒙特卡洛方法中,n个点的分布
# -*- coding: utf-8 -*-
import random
from random import random,seed
from math import  sqrt
from time import clock  #计算程序运行时间
def PI_0():
    hists=0    #抛洒点在1/4(半径为1)圆内点的个数
    clock()
    seed(666)
    for darts in range(1, int(1e5)):
        x,y=random(),random()
        dict=sqrt(x**2+y**2)
        if dict<=1.0:
            hists=hists+1    #随机设点,若抛洒点在1/4圆内,则dice+1
    pi=4*(hists/darts)
    print("********抛洒点的个数 %s" % darts,"********")
    print("PI的值是 %s" %pi)
    print("程序运行的时间是 %-5.5ss" %clock())
PI_0()

方法2,公式法

格雷戈里和莱布尼茨发现PI = 4*(1-1/3+1/5-1/7 ....)

推导方法如下,(来自网络)
公式推导
# -*- coding: utf-8 -*-
"""
@author: 风 
@file: py_03.py
@time: 2018/10/25 23:58
@contact: 254305068@qq.com
"""
# PI = 4*(1-1/3+1/5-1/7 ....)
def PI_1():
    flag = 1  # 奇数项位正,偶数项为负
    temp = 1
    sum = 0
    i = 1
    while i < 1e6:
        temp = 1.0 / (2 * i - 1) * (flag)
        i = i + 1
        sum = sum + temp
        flag = -flag
    return 4*sum

print(PI_1())
import math
print(math.pi)

相关文章

  • 求π的两种方法

    圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,在数学及物理学中普遍存在的数学常数,但它是一个无理数,...

  • iOS算法总结

    用两种方法交换A和B 求最大公约数 求最小公倍数 模拟栈操作 排序算法 字符串反转

  • 组合数求解

    扩展欧几里得算法原理求解逆元的方法(本文采用扩展欧几里得算法进行求解)求组合数的两种方法Lucas定理

  • 2020-02-28《用一年时间重生》读后感

    今天学习了确定目标的两种方法,内求与外观。 内求 探究自己的内心,自己想要什么?自由书写,想想自己没有金钱时间等的...

  • aggregate | 在R中进行分组统计

    aggregate 的简单用法指南 分组求均值 aggregate分组计算均值有两种方法。 法1: 值得注意的是,...

  • 求最大公约数的两种算法与重载

    求最大公约数的两种方法(含递归方法) 面对初始化了的枚举你会如何写代码? 你发现了其中的开火车式的编程方法了吗(观...

  • 求最大公约数和最小公倍数

    求最小公倍数 有两种方法 (1)分解质因数法 先把两个数用其质因数的乘积表示出来如:求45和30的最小公倍数45 ...

  • 求方法

    走在低水平的勤奋通道上,还不如不勤奋,拿这些浪费的时间去享受生活更合理。 最近必须搞明白、想清楚一个问题,如何告别...

  • 求方法

    翻看了这几天记录的文字,觉得都是些记流水账的水文,提不起新意,也啰啰嗦嗦。 再看简友的文章,都非常高大上。有的词语...

  • 狼人杀与谋略

    于战略中求策略,于策略中求方法,于方法中求技巧,于技巧中求工具,于工具中求效率。 这是某个深夜的思考。 人生亦如此...

网友评论

      本文标题:求π的两种方法

      本文链接:https://www.haomeiwen.com/subject/crbyqqtx.html