下面的公式可以用来计算圆周率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)+…… 请编程序计算公式的的主要内容,如果未能解决你的问题,请参考以下文章

使用 python 实现π的计算

长 PI

编写程序:计算π的近似值,π的计算公式为

编写程序:计算π的近似值,π的计算公式为

Python圆周率 Pi (π) 的计算(蒙特卡罗法+公式法)

Pi的计算