计算圆周率π的C++实现(任意精度)
π\piπ的计算公式
代码
#include <iostream>
#include <corecrt_math_defines.h>
#include <iomanip>double compute_pi(int N) //计算pi函数
{double dx = 1.0 / N;double pi = 0;for (int i = 1; i < N; ++i){pi += 2 * sqrt(1 - i * dx*i*dx); // 积分函数}pi += 1;pi *= 2 * dx;return pi;
}int main()
{std::cout << "Please input a number: ";int N = 0;std::cin >> N;double pi = compute_pi(N);std::cout.setf(std::ios::scientific);std::cout << "The computing value of π is " << std::setprecision(10)<<pi << '\n';std::cout << "The computing error is " << std::setprecision(10) << abs(pi - M_PI) << '\n';std::cout << "Please input a tolerance: ";double dtol = 0;std::cin >> dtol; // 输入误差精度,例如 0.000001int M = (int)sqrt(dtol) / dtol; // 以 √dtol / dtol 作为初始的 N 的估计值,记为Mpi = compute_pi(M);while (abs(pi - M_PI) > dtol) // 若计算误差大于输入的容忍误差,则递增M{M += (int)1/sqrt(dtol); // 递增的步进为 1 / √dtol,此处可根据程序运行快慢进行调整pi = compute_pi(M); // 再次计算π值}std::cout << "The computing error is " << std::setprecision(10) << abs(pi - M_PI) << '\n';std::cout << "The number of intervals is " << M << '\n';
}
结果
计算圆周率π的C++实现(任意精度)相关推荐
- python计算圆周率_Python实现计算圆周率π的值到任意位的方法示例
本文实例讲述了Python实现计算圆周率π的值到任意位的方法.分享给大家供大家参考,具体如下: 一.需求分析 输入想要计算到小数点后的位数,计算圆周率π的值. 二.算法:马青公式 π/4=4arcta ...
- Python实现计算圆周率π的值到任意位的方法示例
Python实现计算圆周率π的值到任意位的方法示例 本文实例讲述了Python实现计算圆周率π的值到任意位的方法.分享给大家供大家参考,具体如下: 一.需求分析 输入想要计算到小数点后的位数,计算圆周 ...
- python圆周率后100位_Python实现计算圆周率π的值到任意位的方法示例
这篇文章主要介绍了Python实现计算圆周率π的值到任意位的方法,简单分析了圆周率的计算原理,并结合实例形式分析了Python计算圆周率的相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python ...
- 【python圆周率计算】python计算圆周率π的值到任意位
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程.人工智能教程 一.需求分析 输入 ...
- python计算圆周率_python模拟蒙特·卡罗法计算圆周率
蒙特·卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的应用,其中就包括圆周率近似值的计问题. 假设有一块边长为2的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点坐标(x, ...
- python计算圆周率近似值_使用MicroPython计算任意位数圆周率
计算任意精度的圆周率是个有趣的主题,得益于python的强大计算能力,我们在MicroPython中也可以轻松的计算pi的数值. 先输入下面的代码: """ 文件:pi. ...
- python计算圆周率_用python计算圆周率Π
一.要求: 1.计算到圆周率后面越多位越好. 2.用进度条显示计算的进度. 3.要求给出圆周率Π的具体计算方法和解释. 二.算法: 1.拉马努金公式: 2.高斯-勒让德公式: 设置初始值: 反复执行以 ...
- python里的π怎么调用_用python计算圆周率π
用python计算圆周率π 一.要求 1.要起义能计算到圆周率后面越多位越好. 2.用进度条显示计算的进度,能给出越多种进度条越好. 3.要求给出圆周率π的具体公式或者算法说明. 二.算法 1.马青公 ...
- python用bbp公式计算圆周率_圆周率π现在已经算到多少位了?具体是什么数字?...
圆周率π现在已经算到多少位了?具体是什么数字? 來源:互聯網 2009-08-12 07:01:36 評論 分類: 人文學科 問題描述: 3.1415926后面是多少? 參考答案: 3.14159 ...
- bbp公式求圆周率、python_【并行计算】六种方法计算圆周率
计算π的历史 圆周率π可能是科学界内外最广为人知的自然常数了.早在公元5世纪时,南朝宋数学家祖冲之用割圆法将圆周率计算到小数点后7位数字.大约同一时间,印度的数学家也将圆周率计算到了小数点后5位.历史 ...
最新文章
- 2022-2028年中国餐具行业市场研究及前瞻分析报告
- edgesForExtendedLayout
- java-多线程 String 常量池缓存功能带来的问题
- js自定义函数及参数问题
- 《软件测试技术实战:设计、工具及管理》—第2章 2.2节运用决策表设计测试用例...
- Backup Exec for Windows Servers (BEWS) 简体中文文档汇总(持续更新)
- 解决NGINX PHP No input file specified
- B站回应视频监控被破解上传:下架相关内容 封禁账号
- 2.3 词嵌入的特性
- Android 更加开放了!
- ADO.NET的主要对象
- 5个例子说明jQuery.extend(...)对象扩展工具方法
- 5.7 矩阵的逆的性质
- 1.9w粉丝带动近100w播放量,推广黑马不止一位
- 关于error LNK2005: char * xxx (?xx@@3PADA) already defined in xxx
- 有关防火墙的调研总结
- 筒仓装车控制系统由哪几部分组成
- 【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰
- PUTTY-0.75 下载安装及SSH远程连接方法
- Pandas dataframe 遇到ix报错问题