#!/usr/bin/env python
#-*- coding:utf-8 -*-
############################
#File Name: pi.py
#Author: frank
#Mail: frank0903@aliyun.com
#Created Time:2018-04-29 15:46:50
############################ import random
import time #spigot algorithms 计算圆周率
#圆周率近似公式计算
#pi = 0.0
#N = 1000
#
#for k in range(N):
# pi += 1/pow(16, k) * (4/(8*k+1) - 2/(8*k+4) - 1/(8*k+5) - 1/(8*k+6))
#
#print(pi); #蒙特卡罗方法计算圆周率
#思想:用概率的方法得到圆的面积S,然后用圆的面积除以半径的平方得到PI的值,即PI=S/(R*R)
#设,正方形的长为a,内切圆的半径为r,将正方形分为4等分,坐标原点在圆心;
#以第一象限的4分之一正方形/内切圆为对象,设投掷的总次数为N,投掷在圆内的次数为m(m<=N)
#PI = 4 * (m/N) #程序中设定r=1
#投掷点在圆内的条件是: 点(x,y)到圆心的距离小于等于r,则认为投掷在圆内;即,(x*x+y*y)的平方根 <= 1 pi = 0.0
#1,000,000,000 十亿 599.390809s
#1,000,000 百万 0.6s
#10,000,000 千万 6.05s
#100,000,000 一亿 59.98s
N = 1000000000
r = 1.0
m = 0 time_start = time.perf_counter()
for i in range(N):
x = random.random()
y = random.random()
if (pow((x**2 + y**2), 0.5) <= r):
¦ m += 1; pi = 4*m/N
print("圆周率是:{:f},m={:d}".format(pi,m))
print("计算耗时:{:f}s".format(time.perf_counter()-time_start))

python之圆周率的更多相关文章

  1. 用python计算圆周率Π

    一.要求: 1.计算到圆周率后面越多位越好. 2.用进度条显示计算的进度. 3.要求给出圆周率Π的具体计算方法和解释. 二.算法: 1.拉马努金公式: 2.高斯-勒让德公式: 设置初始值: 反复执行以 ...

  2. 用python计算圆周率

    from random import randomfrom time import perf_counterDARTS = 1000 * 1000hits = 0.0start = perf_coun ...

  3. 用python算圆周率及进度条提示

    (一)圆周率 : (1)圆周率是指平面上圆的周长与直径之比 (ratio of the circumference of a circle to the diameter) .用符号π表示.中国古代有 ...

  4. 用python计算圆周率PI

    1.蒙特卡洛求圆周率 向区域内随即撒点 当点的数目足够多时,落在圆的点数目与在正方形点数目成正比 即圆的面积和正方形的面积成正比 可以得出计算圆周率的算法 DARTS=100000000   hits ...

  5. 【Python】圆周率的计算

    1.公式法  代码: #CalPiV1.py pi=0 N=100 for k in range(N): pi+=1/pow(16,k)*(\ 4/(8*k+1)-2/(8*k+4)-\ 1/(8*k ...

  6. python中圆周率的计算

    蒙特卡罗方法计算圆周率 蒙特卡罗方法是一个撒点方法,取一个正圆的四分之一,和一个正方形的四分之一 形成一个单位方形,单位四分之一圆和四分之一正方形之比,就构成了圆周率 向这个区域撒点,如果点落在圆内部 ...

  7. 广师大python学习笔记求派的值

    用python语言算π值并且带有进度条 用python算圆周率π 1.准备第三方库pip 2.利用马青公式求π 3.用python语言编写出求圆周率到任意位的程序如下: from math impor ...

  8. 用python语言算π值并且带有进度条

    用python算圆周率π 1.准备第三方库pip 打开cmd 输入代码:pip install requests ,随后就会成功 因为小编已经安装好了,所以就不把图截出来了 2.利用马青公式求π    ...

  9. Python代码样例列表

    扫描左上角二维码,关注公众账号 数字货币量化投资,回复“1279”,获取以下600个Python经典例子源码 ├─algorithm│       Python用户推荐系统曼哈顿算法实现.py│    ...

随机推荐

  1. metal &object c

    https://developer.apple.com/documentation/metal/mtlcommandencoder/1458041-pushdebuggroup PushDebugGr ...

  2. LeetCode 137 Single Number II(仅仅出现一次的数字 II)(*)

    翻译 给定一个整型数组,除了某个元素外其余的均出现了三次. 找出这个元素. 备注: 你的算法应该是线性时间复杂度. 你能够不用额外的空间来实现它吗? 原文 Given an array of inte ...

  3. 使用Sublime经验分享

    Sublime轻量级.可是绝对是神一样的编辑器. 1.代码清晰美观 2.能够选择文件夹作为文件结构文件夹显示在左側 3.以tab的形式打开多个页面在同一个窗体内 设置方法例如以下: Preferenc ...

  4. Android传感器的介绍

    在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用. #define SENSOR_TYPE_ACCELEROMETER       1 //加速度#de ...

  5. 【菜鸟也疯狂UML系列】——浅析UML四种关系

    在UML中.关系是很重要的.它抽象出对象之间的联系,让对象构成某个联系起来的结构.以下将简要分析一下UML中的四种关系:关联.依赖,泛化,实现. 一.举例罗列 1.关联(Association) 关联 ...

  6. struts2结合poi-3.7实现数据导出为excel

    我们在处理数据的时候,有可能要将数据导出到excel文件中,那么java中是怎么实现的呢?apache开发的poi就可以帮我们实现啦,它也是开源的代码,导入相应的jar包,就可以轻松实现,下面让我们来 ...

  7. Win10注销在哪?怎么注销电脑

    进入Win10电脑桌面,同时按住键盘上的[Alt]+[F4]组合快捷键,可以快速呼出[关闭Windows]操作选项,在下面的"您希望计算机所什么"里选择[注销],然后点击底部的[确 ...

  8. Drupal启动阶段之一:配置

    配置是Drupal启动过程中的第一个阶段,通过函数_drupal_bootstrap_configuration()实现: function _drupal_bootstrap_configurati ...

  9. (三)Solr——Solr的基本使用

    1. Schema.xml 在schema.xml文件中,主要配置了solrcore的一些数据信息,包括Field和FieldType的定义等信息,在solr中,Field和FieldType都需要先 ...

  10. 登录首页时报错:java.lang.IllegalArgumentException (不合法的参数异常)

    处理一个老项目,DOWN下项目并配好之后,启动没问题,但是登陆之后首页显示如下: 控制台报错如下: 严重: Servlet.service() for servlet jsp threw except ...