下面的公式可以用来计算圆周率PI的近似值: PI/8=1/(1*3)+1/(5*7)+1/(9*11)+…… 请编程序计算公式的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下面的公式可以用来计算圆周率PI的近似值: PI/8=1/(1*3)+1/(5*7)+1/(9*11)+…… 请编程序计算公式的相关的知识,希望对你有一定的参考价值。
这个用C语言怎么写啊?用简单点的啊!才刚学的
这个公式 PI/8=1/(1*3)+1/(5*7)+1/(9*11)+…… 可以用编程for语言来解决的.
具体如下:
#include <stdio.h>
void main( )
int i;
float n,pi=0,p;
for(i=1,n=1;i<=15;i++)
p=1/(n*(n+2));pi+=p;
n+=4;
printf("PI=%8.3f\\n" ,pi*8);
C语言特有特点
C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。
1、广泛性
C语言的运算范围的大小直接决定了其优劣性。C语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。此外,C语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。
2、简洁性
9类控制语句和32个关键字是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同时还能够支持高级编程,避免了语言切换的繁琐。
3、结构完善
C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显著优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。
以上资料参考 百度百科—C语言
参考技术A PI=EIOE+DFO+38+3.14=67-3.14+PL以此重复可能就可以了! 参考技术B http://zhidao.baidu.com/question/254991682.html?fr=im100400蒙特卡洛方法估算圆周率
圆周率的近似计算方法
使用蒙特卡洛方法估算圆周率,具体思路如下:
思考一个边长为 s 的正方形,它的内接圆和正方形的面积之比为 πr2/4 r2 = π/4。由此可以在正方
形的面积范围内产生大量(n 个,需要足够大)随机的点,再统计这些点在圆的范围内的数量 m。则
π/4 = m/n,由此可估算 π 的值。
工程设计思路
在平面直角坐标系内随机选取一个坐标点,假定该坐标点为矩形左上角的位置,同时输入该矩形的
长和宽,由于本例中要求矩形为正方形,所以必须要求输入的该矩形场合宽务必相等,以上均为系
统的输入。
据此,可以求出该正方形内接圆的圆心坐标点及半径。然后就可以通过随机数方法获取落于正方
形之内的坐标点,同时统计落在圆内的点的个数,由此就可以估算出 π 的值。
做题准备:(随机数的产生)
已知矩形的左上角坐标(Abscissa,Ordinate)以及长Length宽Width,在该矩形范围内产生n个随机数。由于Math.radom()是随机产生(0,1)之间的随机数,故(最小值,最大值)之间的随机数=Math.radom()*(最大值-最小值)-最小值。
该题的横坐标范围是(Abscissa,Abscissa+Length),纵坐标范围是(Ordinate-Width,Ordinate),由此可以知道落于正方形之内的坐标点x=Math.random()*(Length)+Absciss与 y=Math.random()*(Width)+(Ordinate-Width)
public double simulation(int count) {// 模拟 int s=0; MonteCarloSimulation w=new MonteCarloSimulation(rectangle); double r1=w.getRectangle().getCoordinate().getAbscissa()+w.getRectangle().getLength()/2;//由左上角坐标和长宽获得圆心的横坐标 double r2=w.getRectangle().getCoordinate().getOrdinate()-w.getRectangle().getWidth()/2;//获得圆心的纵坐标 for (int i=0;i<count;i++) { double x=Math.random()*(w.getRectangle().getLength())+w.getRectangle().getCoordinate().getAbscissa();//随机产生落入矩形范围内横坐标 double y=Math.random()*(w.getRectangle().getWidth())+(w.getRectangle().getCoordinate().getOrdinate()-w.getRectangle().getWidth());//随机产生落入矩形范围内的纵坐标 if (Math.sqrt((x-r1)*(x-r1)+(y-r2)*(y-r2))<w.getRectangle().getWidth()/2)//如果随机产生的点到圆心的距离小于圆的半径 s++; //计数器加一 } return (double)4*s/count;//返回的是估计的圆周率 }
以上是关于下面的公式可以用来计算圆周率PI的近似值: PI/8=1/(1*3)+1/(5*7)+1/(9*11)+…… 请编程序计算公式的的主要内容,如果未能解决你的问题,请参考以下文章