① vb編程 算圓周率
圓周率π,在vb
編程中,你用健盤是輸入不到這個值的,你得用一個常數來定義它的值,如計算圓的體積v=4/3*π*r*r*r,且設r為2,可以用下面的程序代碼來編寫:
(方法一):let
p=3.141592
let
r=2
let
v=4/3*p*r*r*r
print
v
end
(方法二):const
p=3.141592
let
r=2
let
v=4/3*p*r^3
print
v
end
說明:第二個是利用符號常量來代表∏,也就是用函數const定義了p的值,p的值變成了常量,此時在程序中不允許再賦新值
② C語言編程題:用計算機計算圓周率到小數點後一百位。
有公式 π/4=1-1/3+1/5-1/7+... 可據此編寫程序。 我只做到了8位,至於還有沒有其他的計算公式,我也不清楚了。
#include<stdio.h>
#include<math.h>
int main()
{ int sign=1;
double pi=0.0, n=1, term=1.0;
while (fabs(term)>=1e-6 )
{ pi+=term;
n+=2;
sign=-sign;
term=sign/n;
}
pi*=4;
printf("pi=%10.8f", pi);
return 0;
}
③ 計算圓周率的值有多少種編程方法可以解決
有無窮多種,你可以去看這個地方:
http://wenku..com/view/dec52ff49e314332396893b3.html
你仔細觀察一下就可以發現,這些計算公式都是跟三角函數有關的,只要找到一個類似的三角函數就能利用泰勒展開構造出新的計算圓周率的公式,而三角函數的組合類型是無限的,所以計算圓周率的方法有無窮多種。
④ 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語言寫出計算圓周率的程序
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語言計算圓周率
#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;
}
⑦ 現代計算機是如何計算圓周率的
可以用編程語言計算。以下是python語言
pi = 0.0
N = 100
for i in range(N):
pi += (1/pow(16,i) * ( 4/(8*i +1) -2/(8*i+4)-1/(8*i+5) -1/(8*i +6) ) )
print('圓周率為{:.10f}'.format(pi))
請把以上代碼拷進python語言開發環境里運行,結果如下(下圖是使用python開發環境Spyder運行上述代碼的結果):圓周率為3.1415926536.
(7)計算圓周率的編程擴展閱讀
電子計算機的出現使π值計算有了突飛猛進的發展。1949年,美國製造的世上首部電腦-ENIAC(Electronic Numerical Integrator And Computer)在阿伯丁試驗場啟用了。
次年,里特韋斯納、馮紐曼和梅卓普利斯利用這部電腦,計算出π的2037個小數位。這部電腦只用了70小時就完成了這項工作,扣除插入打孔卡所花的時間,等於平均兩分鍾算出一位數。
五年後,IBM NORC(海軍兵器研究計算機)只用了13分鍾,就算出π的3089個小數位。科技不斷進步,電腦的運算速度也越來越快,在60年代至70年代,隨著美、英、法的電腦科學家不斷地進行電腦上的競爭,π的值也越來越精確。
在1973年,Jean Guilloud和Martin Bouyer以電腦CDC 7600發現了π的第一百萬個小數位。
在1976年,新的突破出現了。薩拉明(Eugene Salamin)發表了一條新的公式,那是一條二次收斂算則,也就是說每經過一次計算,有效數字就會倍增。
高斯以前也發現了一條類似的公式,但十分復雜,在那沒有電腦的時代是不可行的。這演算法被稱為布倫特-薩拉明(或薩拉明-布倫特)演演算法,亦稱高斯-勒讓德演演算法。
1989年美國哥倫比亞大學研究人員用克雷-2型(Cray-2)和IBM-3090/VF型巨型電子計算機計算出π值小數點後4.8億位數,後又繼續算到小數點後10.1億位數。
2010年1月7日——法國工程師法布里斯·貝拉將圓周率算到小數點後27000億位。2010年8月30日——日本計算機奇才近藤茂利用家用計算機和雲計算相結合,計算出圓周率到小數點後5萬億位。
2011年10月16日,日本長野縣飯田市公司職員近藤茂利用家中電腦將圓周率計算到小數點後10萬億位,刷新了2010年8月由他自己創下的5萬億位吉尼斯世界紀錄。56歲的近藤茂使用的是自己組裝的計算機,從10月起開始計算,花費約一年時間刷新了紀錄。
⑧ C語言程序設計,用級數計算圓周率π
#include<stdio.h>
intmain()
{
doublepi=2.0;
doublei=1.0;
doublea=i;
doubleb=2*i+1;
doublet=2*a/b;
while(t>=1e-100)
{
pi=pi+t;
i=i+1;
a=a*i;
b=b*(2*i+1);
t=2*a/b;
}
printf("%g ",pi);
getchar();
}
⑨ 關於編程算圓周率值
【圓周率的歷史】
古希臘歐幾里得《幾何原本》(約公元前3世紀初)中提到圓周率是常數,中國古算書《周髀算經》( 約公元前2世紀)中有「徑一而周三」的記載,也認為圓周率是常數。歷史上曾採用過圓周率的多種近似值,早期大都是通過實驗而得到的結果,如古埃及紙草書(約公元前1700)中取π=(4/3)^4≈3.1604 。第一個用科學方法尋求圓周率數值的人是阿基米德,他在《圓的度量》(公元前3世紀)中用圓內接和外切正多邊形的周長確定圓周長的上下界,從正六邊形開始,逐次加倍計算到正96邊形,得到(3+(10/71))<π<(3+(1/7)) ,開創了圓周率計算的幾何方法(亦稱古典方法,或阿基米德方法),得出精確到小數點後兩位的π值。
中國數學家劉徽在注釋《九章算術》(263年)時只用圓內接正多邊形就求得π的近似值,也得出精確到兩位小數的π值,他的方法被後人稱為割圓術。他用割圓術一直算到圓內接正192邊形。
南北朝時代數學家祖沖之進一步得出精確到小數點後7位的π值(約5世紀下半葉),給出不足近似值3.1415926和過剩近似值3.1415927,還得到兩個近似分數值,密率355/113和約率22/7。其中的密率在西方直到1573才由德國人奧托得到,1625年發表於荷蘭工程師安托尼斯的著作中,歐洲稱之為安托尼斯率。
阿拉伯數學家卡西在15世紀初求得圓周率17位精確小數值,打破祖沖之保持近千年的紀錄。
德國數學家柯倫於1596年將π值算到20位小數值,後投入畢生精力,於1610年算到小數後35位數,該數值被用他的名字稱為魯道夫數。
無窮乘積式、無窮連分數、無窮級數等各種π值表達式紛紛出現,π值計算精度也迅速增加。1706年英國數學家梅欽計算π值突破100位小數大關。1873 年另一位英國數學家尚可斯將π值計算到小數點後707位,可惜他的結果從528位起是錯的。到1948年英國的弗格森和美國的倫奇共同發表了π的808位小數值,成為人工計算圓周率值的最高紀錄。
電子計算機的出現使π值計算有了突飛猛進的發展。1949年美國馬里蘭州阿伯丁的軍隊彈道研究實驗室首次用計算機(ENIAC)計算π值,一下子就算到2037位小數,突破了千位數。1989年美國哥倫比亞大學研究人員用克雷-2型和IBM-VF型巨型電子計算機計算出π值小數點後4.8億位數,後又繼續算到小數點後10.1億位數,創下新的紀錄。至今,最新紀錄是小數點後12411億位。
[編輯本段]【圓周率的計算】
古今中外,許多人致力於圓周率的研究與計算。為了計算出圓周率的越來越好的近似值,一代代的數學家為這個神秘的數貢獻了無數的時間與心血。
十九世紀前,圓周率的計算進展相當緩慢,十九世紀後,計算圓周率的世界紀錄頻頻創新。整個十九世紀,可以說是圓周率的手工計算量最大的世紀。
進入二十世紀,隨著計算機的發明,圓周率的計算有了突飛猛進。藉助於超級計算機,人們已經得到了圓周率的2061億位精度。
歷史上最馬拉松式的計算,其一是德國的Ludolph Van Ceulen,他幾乎耗盡了一生的時間,計算到圓的內接正262邊形,於1609年得到了圓周率的35位精度值,以至於圓周率在德國被稱為Ludolph數;其二是英國的威廉·山克斯,他耗費了15年的光陰,在1874年算出了圓周率的小數點後707位,並將其刻在了墓碑上作為一生的榮譽。可惜,後人發現,他從第528位開始就算錯了。
把圓周率的數值算得這么精確,實際意義並不大。現代科技領域使用的圓周率值,有十幾位已經足夠了。如果用魯道夫算出的35位精度的圓周率值,來計算一個能把太陽系包起來的一個圓的周長,誤差還不到質子直徑的百萬分之一。以前的人計算圓周率,是要探究圓周率是否循環小數。自從1761年蘭伯特證明了圓周率是無理數,1882年林德曼證明了圓周率是超越數後,圓周率的神秘面紗就被揭開了。
現在的人計算圓周率, 多數是為了驗證計算機的計算能力,還有,就是為了興趣。
[編輯本段]【圓周率的計算方法】
古人計算圓周率,一般是用割圓法。即用圓的內接或外切正多邊形來逼近圓的周長。阿基米德用正96邊形得到圓周率小數點後3位的精度;劉徽用正3072邊形得到5位精度;魯道夫用正262邊形得到了35位精度。這種基於幾何的演算法計算量大,速度慢,吃力不討好。隨著數學的發展,數學家們在進行數學研究時有意無意地發現了許多計算圓周率的公式。下面挑選一些經典的常用公式加以介紹。除了這些經典公式外,還有很多其它公式和由這些經典公式衍生出來的公式,就不一一列舉了。
1、馬青公式
π=16arctan1/5-4arctan1/239
這個公式由英國天文學教授約翰·馬青於1706年發現。他利用這個公式計算到了100位的圓周率。馬青公式每計算一項可以得到1.4位的十進制精度。因為它的計算過程中被乘數和被除數都不大於長整數,所以可以很容易地在計算機上編程實現。
還有很多類似於馬青公式的反正切公式。在所有這些公式中,馬青公式似乎是最快的了。雖然如此,如果要計算更多的位數,比如幾千萬位,馬青公式就力不從心了。
2、拉馬努金公式
1914年,印度天才數學家拉馬努金在他的論文里發表了一系列共14條圓周率的計算公式。這個公式每計算一項可以得到8位的十進制精度。1985年Gosper用這個公式計算到了圓周率的17,500,000位。
1989年,大衛·丘德諾夫斯基和格雷高里·丘德諾夫斯基兄弟將拉馬努金公式改良,這個公式被稱為丘德諾夫斯基公式,每計算一項可以得到15位的十進制精度。1994年丘德諾夫斯基兄弟利用這個公式計算到了4,044,000,000位。丘德諾夫斯基公式的另一個更方便於計算機編程的形式是:
3、AGM(Arithmetic-Geometric Mean)演算法
高斯-勒讓德公式:
這個公式每迭代一次將得到雙倍的十進制精度,比如要計算100萬位,迭代20次就夠了。1999年9月,日本的高橋大介和金田康正用這個演算法計算到了圓周率的206,158,430,000位,創出新的世界紀錄。
4、波爾文四次迭代式:
這個公式由喬納森·波爾文和彼得·波爾文於1985年發表,它四次收斂於圓周率。
5、ley-borwein-plouffe演算法
這個公式簡稱BBP公式,由David Bailey, Peter Borwein和Simon Plouffe於1995年共同發表。它打破了傳統的圓周率的演算法,可以計算圓周率的任意第n位,而不用計算前面的n-1位。這為圓周率的分布式計算提供了可行性。
6、丘德諾夫斯基公式
這是由丘德諾夫斯基兄弟發現的,十分適合計算機編程,是目前計算機使用較快的一個公式。以下是這個公式的一個簡化版本:
⑩ 計算圓周率 Pi (π)的這個公式如何用編程實現
不錯可以練習編程,不過在實際使用中可以直接定位為:
const double PI = 4. * atan(1.);