-
sub form_load()
dim a,x as integer
dim pi as single
pi=0for i=1 to 30000
x=((-1)^(i+1))*2*i-1)pi=1/x+pi
next i
print 4*pi
end sub
一定能數幾千萬! ”
你瘋了嗎? 你學過計算機嗎? 帶有 VB 的 32 位 PC 怎麼可能? 用這個公式?
使用牛頓迭代,VB 只能計算出精確的 14 位,速度還可以,但如果是 6 位,你的演算法會卡住。 C 更好,但也好不到哪裡去。
-
確切值如下(前 1000 位):
-
包皮環切術的方法和過程:
以O為圓心,以R為半徑做圓,用正六邊形做乙個圓,見圖1。
假設使用正六邊形的周長而不是圓的周長,很明顯誤差非常大。 為了減少誤差,現在製作了內切的正十二邊形,見圖 2:
分析:將AB的中點M通過O點連線,在C點延伸圓,連線CB,CB為正十二邊形的邊;
因為:在三角形AOB中,ao=ab,它是乙個等腰三角形,可以通過幾何知識知道,a= aob=60°,b= cob=a 2=60° 2=30°,c= ocb=(180°-b) 2= 75°。 mb=r/2,sin(c) = mb/cb = (r/2)/cb
所以:l=cb = sin(c)=
因此,十二邊形的 12 條邊的總和比正六邊形的邊長更接近圓周。
繼續分為常規的 24 邊形、48 邊形、96 邊形、..這樣,得到的正多邊形的周長會越來越接近圓的周長,這樣就有了;
a=a2 a,在前乙個的基礎上除以 2
c=(180°-a)/2
l= sin(c)
於是得到完整遞迴演算法的程式**:
dim a as double, cas double
dim l as double '正多邊形一側的長度。
dim r as double '圓的半徑。
dim n as double '正多邊形的邊數。
dim bc as double '正多邊形的周長。
n = 6 '它以常規六邊形開始。
a = 60 * 180 '將角度換成弧度。
r = 5 '定義圓的半徑。
l = rdim i as integer
for i = 1 to100 '拆分 100 次。
n = 2 * n '邊的數量增加了一倍。
a = a / 2
c = ( a) / 2 '請注意,180 度轉換為弧度。
l = * l / sin(c) '計算新角形的一條邊的長度。
bc = l * n '計算正多邊形的周長。
next i
輸出正多邊形的周長。
print bc
輸出周長。
print r * 2 *
輸出邊沿數。 print format(n,"0")
以上是 100 次遞迴後的結果。
-
圓周率的計算公式如下:
上面的**用結果記錄總和,符號記錄每個專案的正負號,i計算每個專案的分母。
項的總和通過迴圈計算,當 1 i “ 不再計算時。
將結果乘以 4 是圓周率
-
馬欽的公式是由英國天文學教授約翰開發的。 Machin 在 1706 年發現了一種計算圓周率的公式,他用它來計算圓周率到小數點後 100 位。 公式中使用了兩個反正切公式,分別是arctg(1 5)和arctg(1 239),然後對arctg公式進行分析,發現這是乙個級數公式,我們可以在演算法程式設計中使用“累加器”來實現。
讓我們來看看如何設計乙個使用 Mechin 公式求解圓周率的演算法:
1)首先,Mechin公式計算的pi精度是由arctg公式中的單項式數決定的,因此需要設定乙個表示項數的變數i,然後通過輸入框賦值;
2)在Mechin公式中,我們使用了兩次arctg公式,根據上面的分析,我們需要設定兩個“累加器”變數arc1和arc2,然後分別賦值為0;
3)在使用第乙個“累加器”變數arc1之前,我們先將arctg函式的引數變數x賦值為“1 5”,然後將計數變數n的初始值賦值為計算項數為1;
4)當新增到“累加器arc1”的專案數不超過輸入的專案數變數i時,執行“累加器”語句和“counter”語句,然後返回判斷箱入口進行條件判斷;
5)當迴圈條件未建立時,表示第一“蓄能器”的工作已經完成,退出迴圈,繼續以下操作;
6)在第二個“累加器arc2”中,使用的引數變數x不同,需要再次設定為“1 239”,需要再次將“計數變數”的初始值設定為1;
7)當新增到“累加器arc2”的專案數不超過輸入的專案數變數i時,執行“累加器”語句和“counter”語句,然後返回判斷箱入口進行條件判斷;
8)當迴圈條件未建立時,表示第二“蓄能器”的工作也已經完成,退出迴圈並繼續以下操作;
9)使用Machin公式的第一部分計算PI值;
10) 最後,演算法在輸出 pi 值後結束。
在實現該演算法描述中的Meichin公式的過程中,實際設計了兩個迴圈結構,分別計算了“累加器arc1”和“累加器arc2”的值,然後通過公式“pi=16*arc1-4*arc2”計算出pi的值。
另外,兩個累加器中的累計值表示式其實是根據Mechin公式中的arctgx公式得到的通用項表示式,在VB中可以寫成“(-1) (n-1)*(x (2*n-1)) (2*n-1))”,但一定要注意括號的配對,否則會出現錯誤資訊。
-
你知道元內切 n 側的公式嗎? 通過代入這個規則的 n 邊形狀的面積來計算 pi 的值,n 越大越好。
古人計算圓周率,一般是用切圓來計算的。 也就是說,圓的周長近似於圓的內切或內切正多邊形。 阿基公尺德使用正則的 96 多邊形來獲得圓周率小數點後 3 位的精度; 劉輝使用常規的 3072 多邊形獲得了 5 位精度; Ludolph van Ceulen 使用常規的 262 邊多邊形獲得了 35 位精度。 >>>More