當前位置:首頁 » 編程語言 » 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;

}