当前位置:首页 » 编程语言 » MC方法求圆周率C语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

MC方法求圆周率C语言

发布时间: 2023-08-22 16:58:02

⑴ 用c语言求出圆周率,这是一个神奇的程序。求解释

这个比较出名的程序,三行语句求PI

按公式PI/2=∑(n!/(2n+1)!!) 计算Pi

计算2800项就可以精确到小数点后800位

正常的写法

#include"stdio.h"
longb,c,d,e,f[2801];
voidmain()
{
for(inti=0;i<2800;i++)f[i]=2000;
f[2800]=0;
for(c=2800;c>0;c-=14)
{
d=0;
for(b=c;b>0;b--)
{
d+=f[b]*10000;
f[b]=d%(2*b-1);
d/=(2*b-1);
if(b>1)
d*=(b-1);
}
printf("%.4d",e+d/10000);
e=d%10000;
}
}

⑵ C语言 圆周率

因为圆面积s=pi*r^2,
所以pi=s/r^2.
点(x,y)是0~1正方形范围内的随机点,如果x^2+y^2<=1,则该点在单位圆内.
x^2+y^2就是r^2,即圆半径的平方.d/N为点x,y落入单位圆内的概率,即约为圆面积.
圆的半径为1/2,而不是1,所以pi=4*d/N.

⑶ C语言计算圆周率

#include<stdio.h>
#include<math.h>
intmain(){
doublep=0,q=0;
inti;
for(i=1;;i++){
p+=6*1.0/(i*i);
q+=4*1.0*pow(-1,i+1)/(2*i-1);//q后面少一个+
if(fabs(sqrt(p)-q)<1e-6)
break;
}
printf("PIis%lf,项数为%d",q,i);
return0;
}

⑷ C语言 求圆周率~~

用的是如图的公式,下面是arctg展开的级数。

这个输出没有写好,一派笑陆组是10位,如果前面是“0”就会少了,要完善一下。

N是定义算多少组的,N=1000时N*10就是10000组,要算到100万位这种算法要好长时间,但是这是最简单的算法之一。

下面分成三个部分,第一是定义数组和

#defineN1000

#include"math.h"

#include"string.h"

main()

{

autodoublea1,b1,b2,c1,d,i=1.0,q=-1.0;

autodoublen,g,r=10000000000.0;

staticdoublea[N+1],b[N+1],c[N+1];

autochar*str3,str1[15],strs1[11*N],*p_strs1;

autolongp,j,k=1,m=1;

do{

printf("inputp=");

scanf("%ld",&p);

}while(p<=0&&p>100);

p=p+1;

b[1]=r*20.0,c[1]=239*r;

do

{q=-q,a1=0,b1=0,c1=0;

for(j=m;j<=p;j++){c1=c[j]+c1*r,c[j]=floor(c1/57121),c1=c1-c[j]*57121;}

if(c[m]<1e-5)m++;

for(j=k;j<=p;j++){

a1=b[j]+a1*r,b[j]=floor(a1/25.0),a1=a1-b[j]*25.0;

升改d=b1*r+b[j]-c[j],b1=floor(d/i),a[j]=4*q*b1+a[j];

b1=d-b1*i;

}

if(b[k]<=1e-5){

k++;

printf("k=%ld尘顷",k);}

i=i+2;

}while(m<=p);

do

{q=-q,a1=0,b1=0;

for(j=k;j<=p;j++){

a1=b[j]+a1*r,b2=floor(a1/25),b[j]=b2;

a1=a1-b2*25,d=b2+b1*r;

b1=floor(d/i),a[j]=a[j]+4*q*b1;

b1=d-b1*i;

}

if(b[k]<=1e-5){k++;printf("k=%ld",k);}

i=i+2;

}while(k<=p);

printf(" ");

for(j=p;j>=1;j--){g=a[j]+n,n=floor(g/r),a[j]=g-r*n;}

for(j=1;j<p;j++)printf("%10.0f",a[j]);

str3=strs1;

}

⑸ 在C语言中编写函数,求出圆周率Pi的近似值

我们经常会运用C语言进行各种数学运算,那么如何团绝用C语言编写函数求圆周率Pi的近似值呢?下面我给大家分享一下。

工具/材料

Dev C++

  • 01

    首先打开Dev C++软件,新建一个C语言项塌搏姿目,如下图所示

  • 02

    然后在C语言文件中导入math库,并编写求Pi近似值的逻银顷辑代码,如下图所示

  • 03

    接下来我们编译编写好的C语言文件,如下图所示

  • 04

    最后运行C语言文件我们就得到Pi的近似值了,如下图所示

⑹ C语言求圆周率

#include<stdio.h>

intmain()
{
floatf;
doublepi,i,sign;
while(scanf("%f",&f)==1)
{
pi=0;
i=1;
sign=1;
do
{
pi+=sign*1.0/i;
}while(1.0/i>=f&&(sign=-sign)&&(i+=2));
printf("%lf ",pi*4.0);
}
return0;
}

⑺ 用C语言写出计算圆周率的程序

double s = 0;//面积
double pi = 0;//圆周率
double d=200;//直径(值越大圆周率越精确)
double r = d/2;//半径
for(int i=1;i<=d;i++){
for(int j=1;j<=d;j++){
if((i-r)*(i-r)+(j-r)*(j-r)<=r*r){
s++;
}
}
}
pi = s/(r*r);

⑻ C语言:计算圆周率(精度保留到小数点后6位),用程序实现,公式如下:

#include<stdio.h>

#include<math.h>

int main()

{double pi=1,t=0;

for(;t<1.9999999;)

{t=sqrt(2+t);

pi*=2/t;

}

printf("%lf ",pi*2);

return 0;

}