计算圆周率pai的公式:pai = 4*(1-1/3+1/5-1/7 ....)

历史上有许多计算圆周率pai的公式,其中,格雷戈里和莱布尼茨发现了下面的公式:

pai = 4*(1-1/3+1/5-1/7 ....)

这个公式简单而优美,但美中不足,它收敛的太慢了。

如果我们四舍五入保留它的两位小数,那么:

累积了1项和是:4.00

累积了2项和是:2.67

累积了3项和是:3.47

。。。

请你写出它累积了100项的和是多少(四舍五入到小数后两位)。

源代码:

#include<stdio.h>
//pai = 4*(1-1/3+1/5-1/7 ....)
double While()
{
	double sum=0;
	int flag=1;//奇数项位正,偶数项为负
	double temp=1;
	int i=1;
	while(i<=100)
	{
		temp=1.0/(2*i-1)*(flag);
		i++;
		sum=sum+temp;
		flag=-flag;
	}
	return sum;
}
int main()
{
	double pai=0.0;
	pai=4*While();
	printf("%.8lf\n",pai);
	return 0;
}

输出:3.13159290,所以四舍五入为3.13

时间: 2024-10-19 01:20:11

计算圆周率pai的公式:pai = 4*(1-1/3+1/5-1/7 ....)的相关文章

蒙特卡洛方法计算圆周率的三种实现-MPI openmp pthread

蒙特卡洛方法实现计算圆周率的方法比较简单,其思想是假设我们向一个正方形的标靶上随机投掷飞镖,靶心在正中央,标靶的长和宽都是2 英尺.同时假设有一个圆与标靶内切.圆的半径是1英尺,面积是π平方英尺.如果击中点在标靶上是均匀分布的(我们总会击中正方形),那么飞镖击中圆的数量近似满足等式 飞镖落在圆内的次数/飞镖落在标靶内的总次数=π/4 因为环包含的面积与正方形面积的比值是π/4. 因为环所包含的面积与正方形面积的比值是π/4. 我们可以用这个公式和随机数产生器来估计π的值. 伪代码如下: numb

计算圆周率的C程序

这是很早以前用C语言写的一个计算圆周率的程序,  算法是用泰勒公式计算反正切值.在命令行不跟参数执行该程序则使用Gauss公式计算前1000位圆周率的值,如果带一个命令行参数,则该值为要计算的位数.如果还有第二个命令行参数,则使用Stomer公式计算,可作为验算.因为该程序只涉及到纯数学计算,可以在Linux.Unix.Windows等操作系统下编译并运行.当时写这个程序时,int是2个字节的,现在大多数的C编译器int都是4个字节,不过这不影响程序的正确性. #include <stdio.h

蒙特卡罗方法计算圆周率

蒙特卡罗方法计算圆周率 前几天读到了一篇网志:蒙特卡罗方法入门,http://www.ruanyifeng.com/blog/2015/07/monte-carlo-method.html 其中介绍了用概率计算圆周率的方法,所以就用程序做了以下尝试. 作为常量的PI值的近似在Math.PI中为3.141592653589793. Ⅰ.方形中的所有像素计算 package yumu.probability.montecarlo; public class CalculatePI { private

计算圆周率

Digits of Pi: In this problem you have to find as many digits of PI as possible. Output: Output must contain as many digits of PI as possible (not more than 1,000,000). Score: The score awarded to your program will be the first position of the digit

循环-02. 计算圆周率(15)

循环-02. 计算圆周率(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 杨起帆(浙江大学城市学院) 根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值. 输入格式: 输入在一行中给出小于1的阈值. 输出格式: 在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位. 输入样例: 0.01 输出样例: 3.132157 1 #include<stdio.h> 2 #include<stdlib.h>

c语言学习之不同方式计算圆周率

 /*************************************************** * 功能: *        通过概率法和切割法计算圆周率 * 说明: *        概率法需要输入圆没的点数 *        切割法需要输入切割的次数 ***************************************************/ #include <stdio.h> #include <time.h> #include <stdl

C语言计算圆周率PI的代码

下面的内容段是关于C语言计算圆周率PI的内容. #include "stdio.h" #include "stdlib.h" #define SCALE 10000 #define ARRINIT 2000 void pi_digits(int digits) { int carry = 0; int arr[digits + 1]; for (int i = 0; i <= digits; ++i) arr[i] = ARRINIT; for (int i

利用Java随机数计算圆周率π

一.理论篇 1. 数学公式 圆面积公式:π*r*r,其中π为圆周率,r为圆半径: 正方形面积公式:s*s,其中s为边长: 勾股定理:a*a + b*b = c*c,其中a/b分别为直角三角形的两个直角边,c为斜边. 2. 计算方法 考虑下图,边长为r的正方形内嵌了一个以r为半径的1/4圆. InsideCircle面积 = 以r为半径的圆面积 / 4 = π*r*r/4 正方形面积 = r*r 所以, InsideCircle面积 / 正方形面积 = (π*r*r/4) / (r*r) = π/

计算字符串表示的公式的值

题目: 输入一个字符串,该字符串表示一个公式,公式里可能有整数.加减乘除符号和左右括号,计算公式的结果.如输入"48*((70-65)-43)+8*1" ,返回整数-1816. 注意: 1.假设公式不会出错,既不用考虑左右括号不配对.出现非法字符等情况. 2.计算过程或结果不用考虑溢出. 3.输入的公式中只有整数,没有小数.整数可能有负数,负数需要用括号括起来,如 "(-3)+4" .在公式开头或括号部分的开头,负数可以没有括号,如 "-3*4"