一种计算π的方法
2023-09-27 14:25:21 时间
假设点可以均匀的扔到正方形中。如果一共扔N次,其中M次扔进内切圆内,则可以推导出计算π的公式:
随机计算π
大体思路:获得随机数(x,y),判断x*x + y*y是否在单位圆内,可以得到M的个数。
程序:
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 1000 int main() { int i, M=0; double x, y, pi; srand((int)time(NULL)); for (i=0; i<N; i++) { x = rand() / (double)RAND_MAX; y = rand() / (double)RAND_MAX; if (x*x + y*y < 1) M++; } pi = (4.0 * M) / N; printf("pi:%f\n", pi); return 0; }
注意:有关随机数的获取可以参考:http://www.cnblogs.com/kaituorensheng/archive/2013/03/05/2944008.html
一组结果:
画出网格计算π
大体思路:
程序:
#include <stdio.h> #include <stdlib.h> #include <math.h> #define n 10000000 int main() { int i; double sum = 0; for (i=0; i<n; i++) sum += sqrt((double)n*n - (double)i*i); printf("%f\n", 4.0*sum /n/n); }
一组结果:
相关文章
- 赢在云时代——企业云计算战略、方法和路线图
- FPAG中SignalTap II在线逻辑分析仪的使用方法
- Google Earth Engine(GEE)——用两种方法计算NDWI水域面积提取(Landsat 8)
- Google Earth Engine(GEE)——用不同方法计算slope对比案例分析
- SqlServer 子查询order by 生成临时表保留排序方法
- python公共操作(运算符(+、*、in、not in)、公共方法(len()、del、max()、min()、range()、enumerate())、类型转换(tuple、list、set))
- 基于PVO(Pixel-Value-Ordering)算法的高质量可逆隐藏方法和图像局部粗糙度分析
- C#,码海拾贝(15)——“对称正定矩阵”的求逆和“托伯利兹矩阵”求逆的“埃兰特”方法之C#源代码,《C#数值计算算法编程》源代码升级改进版
- android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效的解决方法
- 『 迷你教程 』在PyTorch中计算导数你的方法用对了么?
- 两种计算Java对象大小的方法
- ASO优化方法_获取ASO关键词指数接口
- uni-app 在父组件中调用子组件的方法
- laravel 5.5 更改默认的密码加密方法
- php中cal_days_in_month不可用时的替代方法(计算一个月的天数)
- js中offsetLeft,offsetTop,offsetParent计算边距方法
- Map中使用和遍历map方法
- 政府部门拥抱云计算的5种方法
- 【AD小知识】隐藏敷铜的方法
- navigationItem.rightBarButtonItem 设置背景图片,颜色更改解决的方法
- ListView的adapter中getView方法一直调用
- ddraw 视频下绘图 不闪烁的方法
- 局域网不能访问本机IIS网站的解决方法
- angularjs如何在视图渲染结束之后,或者render之后执行指令中的link方法呢?