PI-撒币算法

2023-10-27

首先构造一个单位正方形和一个四分之一圆,

然后假设你有一堆硬币

你开始随机对上述构造的正方形,撒币!!!!!

当然这个硬币可能在圆里,也可能在圆外

只要你的硬币够多,那么你的硬币将构成1/4圆。

通过计数其中落入内切圆的硬币的个数,有:

如果一共投入a个硬币,其中有b个落入圆中,则只要硬币均匀,假定圆周的半径为r,则:

\frac{a}{b} = \frac{\frac{1}{4}\pi r^{^{2}}}{r^{2}}

你撒币撒得越多,那么pi就越准确。

所以以上算法就是蒙特拉罗算法。

代码:

#random返回随机生成的一个实数,它在[0,1)范围内
from random import random
import math

sabi = 1200000
count = 0
for i in range(1,sabi):
    x = random()
    y = random()
    distance = math.sqrt(pow(x,2)+pow(y,2))
    if distance <= 1.0:
        count += 1
    pi = 4*(count/sabi)
print(pi)

结果:

3.1420666666666666

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PI-撒币算法 的相关文章

  • 面试题深入思考01-----Arrays.sort()与Collections.sort()

    面试题深入思考01 Arrays sort 与Collections sort 1 Collections sort Collections本质是关于集合的一种工具类 其中包含对集合的各种api 例如排序 反转 交换和复制等 其中sort方
  • word怎么恢复保存前的文件,word文件恢复

    我们在使用word编辑文档时偶尔会有误删除文档的经历 word要怎么恢复保存前的文件呢 本文为你提供了五种解决思路 你可以通过搜索word文档的备份文档 自动恢复文件 临时文件 回收站 第三方数据恢复软件找到文档 方法一 搜索 Word 备
  • katex

    Katex Accents Accent functions inside text Delimiters Delimiter Sizing Environments Letters and Unicode Other Letters Un
  • Android ----蓝牙架构

    蓝牙 1 fromwork 2 service 3 driver Bluetooth apk bluedroid 芯片厂家 fromwork到service直接调用 service到driver利用service调用 fromwork到dr
  • 【机器学习 - 4】:线性回归算法

    文章目录 线性回归 线性回归的理解 损失函数 简单线性回归 封装线性回归算法 线性回归算法 在sklearn中调用线性回归算法 向量化运算 线性回归模型中的误差 均方误差 MSE 均方根误差 平均绝对误差 调用sklearn中的均方根误差和
  • 位置式和增量式PID控制

    PID控制是一个二阶线性控制器 定义 通过调整比例 积分和微分三项参数 使得大多数的工业控制系统获得良好的闭环控制性能 优点 a 技术成熟 b 易被人们熟悉和掌握 c 不需要建立数学模型 d 控制效果好 e 鲁棒性 通常依据控制器输出与执行
  • 测试管理之测试过程

    测试过程 以此文来阐述自己对于测试过程的认识 目录 文章目录 目录 过程分类 测试过程主要分为测试前 测试中 测试完成 发布后 测试前 测试前注意事项 需求评审 参与评审 了解需求背景 需求详情以及需求价值 初步评估需求覆盖面 需求测试工作
  • CSS背景:背景色/背景图像/背景重复/背景附着/简写背景属性(一文搞懂)

    目录 CSS背景 CSS 背景色 实例 其他元素 实例 不透明度 透明度 实例 使用 RGBA 的透明度 实例 CSS 背景图像 实例 实例 实例 CSS 背景重复 实例 实例 CSS background repeat no repeat
  • 程序员版孔乙己

    互联网的格局 是和别处不同的 都是格子衫 稀疏的头发 双肩包 男 写代码的人 傍午傍晚散了工 每每三两人 背着手 沿着软件园溜达一圈 倘肯花点钱 便还会走到星巴克 买一杯咖啡 那样便能再多摸几分钟的鱼 我从十九岁起 便在软件园的星巴克打工
  • Vim 键盘贴纸(打印用)

    Vim是一个类似于Vi的著名的功能强大 高度可定制的文本编辑器 在Vi的基础上改进和增加了很多特性 vim学习过程中需要记住好多键位的使用 下面分享一下vim键位图 打印后贴在键盘上 原版下载地址 密码 ultv 注 作者纯手工打造 难免有
  • 数据相关知识点(数据资产、业务底座、业务中台、企业数仓、即席查询)

    业务底座 企业数仓所提供的支撑能力 业务中台 企业在经营过程中积累起来的 具有一定规模的且能够快速适应变化 能够支撑器企业数字化转型升级的能力 企业数仓 又名企业数据仓库 是一个面向主题的 集成的 非易失的且随时间变化的数据集合 用来支持管
  • 微信小程序自定义弹窗实现详解(可通用)

    本文为自定义弹窗 该内容可满足如下需求 自定义各种布局弹窗 点击弹窗布局外消失弹窗 弹出弹窗时背景阴影半透明 各方向弹出效果 本文为自下而上弹出 wxml 文件中 直接放到wxml的最底部就行了 十分简练
  • Unity之实现拖拽UI功能

    一 unity 图片切割 先把图片导入到Unity中 选中图片你会看到上边的Inspector界面 然后 选择Texture Type类型为Advanced 将Read Write Enabled选上 然后Sprite Mode选择Mult
  • [ Matlab ] 遗传算法求最短路径

    打包下载源代码 实例描述 配送中心数为 1 客户数 k 为 8 车辆总数 m 为 2 车辆载重皆为 8 吨 各客户点需求为 g i 1 2 8 单位为吨 已知客户点与配送中心的距离如表 1 其中 0 表示中心仓库 要求合理安排车辆的运输路线
  • 服务计算——web 技术 - 处理 Request 与 Response

    基于Negroni框架的cloudgo应用 本次实验是基于Negroni框架的应用 我设计了一个简单的四则运算应用 这个应用设计主要分为两部分 中间件设计 以及 main函数的设计 接下来就分别对这两个部分进行介绍 中间件设计 printF
  • VS2017配置Qt开发环境

    VS2017配置Qt开发环境 安装Qt5 12 11 安装Qt插件 在VS2017中进行设置 参考教程 安装Qt5 12 11 安装Qt插件 在VS2017中进行设置 参考教程 Qt下载地址 https download qt io Qt安
  • 前端拖拽自动生成代码_我的前端布局自动化——开始,布局自动生成(一)

    在web前端工作的这些年 历经多次技术变革 不过依然只是一个追随大牛们的小白 此时此刻 尤其加班时 最想做的就是干掉自己职业的东西 做一个可代替前端工作的工具 由此开始了前端自动化探索 这篇文章就是自己的旗子吧 先举起一面变革之旗 不论自己
  • 关于Number.toFixed()的总结

    关于Number toFixed 函数的总结 前言 今天工作中遇到了一个需求 需要将类似于 1 99999 这样的数字格式化为 2 00 这样的两位小数 本来打算自己实现一个类似的功能函数 但是没想到看起来容易 实际实现起来却还是有点复杂的
  • Windows server 2016 云主机创建虚拟机

    Windows server 2016 云主机创建虚拟机 Hyper V 安装失败 处理器没有所需要的虚拟化功能 vmvare workstation play 17 安装 vmvare ok https customerconnect v
  • 【毕设教程】深度学习经典网络 CNN模型:ResNet

    文章目录 0 简介 1 ResNet 介绍 2 深度网络的退化问题 3 残差学习 4 ResNet的网络结构 5 ResNet的TensorFlow实现 6 最后 0 简介 Hi 大家好 这里是丹成学长的毕设系列文章 对毕设有任何疑问都可以

随机推荐

  • HTML-CSS笔记_0424

    HTML CSS 学习笔记源码 链接 https pan baidu com s 1PRorRSlAW0PSHM4grOoapg 提取码 fnr2 HTML 一 网页的基本结构和基础 1 html基础
  • qt 实现UDP通信简单案例

    实现效果 实现功能 创建两个界面 可以通过udp进行通信 并显示通信内容 界面部分由代码实现 并使用qss简单美化 udp通信由创建套接字 绑定端口号 发送和接收数据函数完成 代码实现 创建第一个通信对象 ud1 h ifndef UDPU
  • 【CV学习笔记】onnx篇之DETR

    1 摘要 本次学习内容主要学习了DETR的网络结构 损失函数等知识 明白了DETR是如何做到了端到端的检测 确实是一个十分优雅的框架 同时将DETR利用onnxtime进行推理 对于transformer的理解进一步加深了 DETR学习链接
  • Vue中关于组件的封装复用

    我们在写前端代码时常常会有一些控件或者HMTL代码片段在许多页面都需要 并且内容几乎一样 只是数据的不同而已 此时 我们就可以把这些代码封装成组件 以供我们重复使用 组件化 是一种思想 解决对复杂问题简单化的思想 将我们的程序开发成一个个独
  • 【持续更新】近期C++开发Modbus通讯接口小结

    项目需求 对PLC上存储的数据进行读取 并转存到数据库 语言 C DDL 所需知识点 Socket通信 Modbus帧结构 C 中数据库的操作 多线程 Linux 项目进度拆解记录 不会做就是困难 管它简不简单 1 Socket通信 由于之
  • mysql 配置文件-----【MySQL][5.1][.ini][5] MySQL my-innodb-heavy-4G.ini

    开始配置信息 描述 4GB 内存 只有 InnoDB ACID 几个连接数 繁重的查询 类型 系统 结束配置信息 这是一个针对 4G 内存系统 主要运行只有 InnoDB 表的 MySQL 并使用几个连接数执行复杂的查询 的 MySQL 配
  • 大数据小细节、小经验

    1 把操作hive的sql写在sh脚本里 用 bin hive f 执行脚本 不用登陆hive命令行界面 这样可以脚本自动化执行某些任务 2 expect脚本 先安装expect插件 yum y install expect bin exp
  • python练习——实现质数检测,编写isprime()函数,参数为整数,并且需要有异常处理功能。

    编写isprime 函数 参数为整数 并且需要有异常处理功能 此函数的功能是检测接收的整数是否为质数 如果整数是质数 则返回True 否则返回False 编写isprime 函数 参数为整数 并且需要有异常处理功能 此函数的功能是检测接收的
  • C++入门练习题[1]:KiKi定义电子日历类

    最近在看C 入门的书籍 但是光看是不够的 需要一些练习将知识运用起来 牛客网上面有在线编程的题目 我选择了一些入门的题目作为练习 1 题目 这道题的题目如下 2 解题 题目是非常简单的 但是因为只是看过了一遍知识点 没有动手实践 所以看起来
  • [Python系列-7]:Python之人工智能 - 基本工具 -1- Time库

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 119253059 目录 1 什
  • 瑞吉外卖【后台管理系统篇】

    瑞吉外卖 一 软件开发整体介绍 1 软件开发流程 2 角色分工 3 软件环境 二 瑞吉外卖项目介绍 1 项目介绍 2 技术选型 3 功能架构 三 开发环境搭建 1 数据库环境搭建 2 maven项目搭建 四 后台功能开发 1 员工管理 1
  • Matlab中条件语句-if, elseif, else使用

    目录 语法 说明 示例 使用 if elseif 和 else 指定条件 比较数组 测试数组的相等性 比较字符向量 测试值的不相等性 评估表达式中的多个条件 if elseif else是条件为 true 时执行语句 语法 if expre
  • java数组为什么可以迭代吗_另一个“只能迭代数组或java.lang.Iterable实例”的问题...

    我有这段代码返回java lang iterable错误 我知道我在哪里出错 但是我不知道该如何解决 这是代码 public class ManagementServiceHandler implements ManagementServi
  • opencv3/C++ 机器学习-决策树/DTrees

    决策树 Decision Tree 决策树 Decision Tree是一棵二叉树 每棵非叶子节点有两个子节点的树 可用于分类或回归问题 对于分类问题 形成分类树 每个叶节点都标有一个类标签 多个叶节点可能具有相同的标签 对于回归问题 形成
  • 数据库题目:用“连接查询”查找和problem_id为 1009 的题目属于同一个比赛的题目信息,结果按problem_id升序排序。

    目录 Q 查找和problem id为 1009 的题目属于同一个比赛的题目信息 结果按problem id升序排序 1 problem为题目表 problem表如下图 仅显示前几条 编辑 2 contest problem为比赛 题目关系
  • 在程序运行中,页表是动态的还是静态的?

    最近在学习操作系统相关知识 在学习虚拟内存技术时产生了一个疑问 操作系统会在进程需要的时候将位于硬盘的数据页换入到物理内存中 在物理内存不够用的情况下会发生页面置换 而置换的物理内存页面应该是随机的 换出未来一段时间不太可能使用的页面 这个
  • 共享虚拟主机和服务器,独享和共享虚拟主机区别

    独享和共享 独享虚拟主机 是指独享一部分服务器资源的虚拟主机 比如独享CPU 独享内存 独享带宽等 共享虚拟主机 是我们常见的普通虚拟主机 服务器资源 大家共享 包括CPU 内存 带宽等 独享虚拟主机由于独享资源 因此在使用时 更稳定 而共
  • ssm sqlSessionFactory创建失败

    Caused by org springframework beans factory BeanCreationException Error creating bean with name sqlSessionFactory define
  • 【数据结构-图】1.图的构造和遍历(基本理论+代码)

    一 图的基本概念 图 图G是一个有序二元组 V E 其中V称为顶集 Vertices Set E称为边集 Edges set E与V不相交 它们亦可写成V G 和E G 其中 顶集的元素被称为顶点 Vertex 边集的元素被称为边 edge
  • PI-撒币算法

    首先构造一个单位正方形和一个四分之一圆 然后假设你有一堆硬币 你开始随机对上述构造的正方形 撒币 当然这个硬币可能在圆里 也可能在圆外 只要你的硬币够多 那么你的硬币将构成1 4圆 通过计数其中落入内切圆的硬币的个数 有 如果一共投入a个硬