python之圆周率
#!/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之圆周率的更多相关文章
- 用python计算圆周率Π
一.要求: 1.计算到圆周率后面越多位越好. 2.用进度条显示计算的进度. 3.要求给出圆周率Π的具体计算方法和解释. 二.算法: 1.拉马努金公式: 2.高斯-勒让德公式: 设置初始值: 反复执行以 ...
- 用python计算圆周率
from random import randomfrom time import perf_counterDARTS = 1000 * 1000hits = 0.0start = perf_coun ...
- 用python算圆周率及进度条提示
(一)圆周率 : (1)圆周率是指平面上圆的周长与直径之比 (ratio of the circumference of a circle to the diameter) .用符号π表示.中国古代有 ...
- 用python计算圆周率PI
1.蒙特卡洛求圆周率 向区域内随即撒点 当点的数目足够多时,落在圆的点数目与在正方形点数目成正比 即圆的面积和正方形的面积成正比 可以得出计算圆周率的算法 DARTS=100000000 hits ...
- 【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 ...
- python中圆周率的计算
蒙特卡罗方法计算圆周率 蒙特卡罗方法是一个撒点方法,取一个正圆的四分之一,和一个正方形的四分之一 形成一个单位方形,单位四分之一圆和四分之一正方形之比,就构成了圆周率 向这个区域撒点,如果点落在圆内部 ...
- 广师大python学习笔记求派的值
用python语言算π值并且带有进度条 用python算圆周率π 1.准备第三方库pip 2.利用马青公式求π 3.用python语言编写出求圆周率到任意位的程序如下: from math impor ...
- 用python语言算π值并且带有进度条
用python算圆周率π 1.准备第三方库pip 打开cmd 输入代码:pip install requests ,随后就会成功 因为小编已经安装好了,所以就不把图截出来了 2.利用马青公式求π ...
- Python代码样例列表
扫描左上角二维码,关注公众账号 数字货币量化投资,回复“1279”,获取以下600个Python经典例子源码 ├─algorithm│ Python用户推荐系统曼哈顿算法实现.py│ ...
随机推荐
- metal &object c
https://developer.apple.com/documentation/metal/mtlcommandencoder/1458041-pushdebuggroup PushDebugGr ...
- LeetCode 137 Single Number II(仅仅出现一次的数字 II)(*)
翻译 给定一个整型数组,除了某个元素外其余的均出现了三次. 找出这个元素. 备注: 你的算法应该是线性时间复杂度. 你能够不用额外的空间来实现它吗? 原文 Given an array of inte ...
- 使用Sublime经验分享
Sublime轻量级.可是绝对是神一样的编辑器. 1.代码清晰美观 2.能够选择文件夹作为文件结构文件夹显示在左側 3.以tab的形式打开多个页面在同一个窗体内 设置方法例如以下: Preferenc ...
- Android传感器的介绍
在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用. #define SENSOR_TYPE_ACCELEROMETER 1 //加速度#de ...
- 【菜鸟也疯狂UML系列】——浅析UML四种关系
在UML中.关系是很重要的.它抽象出对象之间的联系,让对象构成某个联系起来的结构.以下将简要分析一下UML中的四种关系:关联.依赖,泛化,实现. 一.举例罗列 1.关联(Association) 关联 ...
- struts2结合poi-3.7实现数据导出为excel
我们在处理数据的时候,有可能要将数据导出到excel文件中,那么java中是怎么实现的呢?apache开发的poi就可以帮我们实现啦,它也是开源的代码,导入相应的jar包,就可以轻松实现,下面让我们来 ...
- Win10注销在哪?怎么注销电脑
进入Win10电脑桌面,同时按住键盘上的[Alt]+[F4]组合快捷键,可以快速呼出[关闭Windows]操作选项,在下面的"您希望计算机所什么"里选择[注销],然后点击底部的[确 ...
- Drupal启动阶段之一:配置
配置是Drupal启动过程中的第一个阶段,通过函数_drupal_bootstrap_configuration()实现: function _drupal_bootstrap_configurati ...
- (三)Solr——Solr的基本使用
1. Schema.xml 在schema.xml文件中,主要配置了solrcore的一些数据信息,包括Field和FieldType的定义等信息,在solr中,Field和FieldType都需要先 ...
- 登录首页时报错:java.lang.IllegalArgumentException (不合法的参数异常)
处理一个老项目,DOWN下项目并配好之后,启动没问题,但是登陆之后首页显示如下: 控制台报错如下: 严重: Servlet.service() for servlet jsp threw except ...