1. 程式人生 > >計算圓周率pai的公式:pai = 4*(1-1/3+1/5-1/7 ....)

計算圓周率pai的公式:pai = 4*(1-1/3+1/5-1/7 ....)

歷史上有許多計算圓周率pai的公式,其中,格雷戈裡和萊布尼茨發現了下面的公式:

pai = 4*(1-1/3+1/5-1/7 ....)

這個公式簡單而優美,但美中不足,它收斂的太慢了。
如果我們四捨五入保留它的兩位小數,那麼:

累積了1項和是:4.00
累積了2項和是:2.67
累積了3項和是:3.47
。。。

請你寫出它累積了100項的和是多少(四捨五入到小數後兩位)。

原始碼:

#include<stdio.h>
//pai = 4*(1-1/3+1/5-1/7 ....)
double While()
{
	double sum=0;
	int flag=1;//奇數項位正,偶數項為負
	double temp=1;
	int i=1;
	while(i<=100)
	{
		temp=1.0/(2*i-1)*(flag);
		i++;
		sum=sum+temp;
		flag=-flag;
	}
	return sum; 
}
int main()
{
	double pai=0.0;
	pai=4*While();
	printf("%.8lf\n",pai);
	return 0;
}

輸出:3.13159290,所以四捨五入為3.13

相關推薦

計算第K個能表示(2^i * 3^j * 5^k)的正整數(i,j,k為整數)?其前7個滿足此條件的數分別是1,2,3,4,5,6,8

public class Main { public static void main(String[] args) { int[] a = new int[1501]; a[1] = 1; TreeMap<Integer, Integ

Python 列表元素分組,比如 [1,2,3,...100]變成 [[1,2,3],[4,5,6]....](列表生成式解決)

range 列表生成式 元素 python 列表 for .... ... 分組 [88 In [29]: a=[x for x in range(1,101)] In [30]: b=[a[x:x+3] for x in range(0,100,3)] In [31]:

C語言:計算並輸出S=1+(1+2^0.5)+(1+2^0.5+3^0.5)...+(1+2^0.5+3^0.5+...+n^0.5)

輸出 nbsp clas return %d span file fprintf 計算 //計算並輸出S=1+(1+2^0.5)+(1+2^0.5+3^0.5)...+(1+2^0.5+3^0.5+...+n^0.5) 1 #include<math.h>

Zookeeper(135節點)集群安裝

安裝 nbsp 集群搭建 PE 6.0 節點 tle .com TP  1節點 1 week110的zookeeper的安裝 + zookeeper提供少量數據的存儲   3節點 hadoop-2.6.0.tar.gz的集群搭建(3節點) hadoop-2.

oracle11.2.0.1.0 連線 python3.5.1

1.    cx_Oracle:cx_Oracle-6.0rc2-cp35-cp35m-win_amd64.whl        下載網址:https://pypi.python.org/pypi/cx_Oracle/5.3 2.

1135......遞迴演算法

這道筆試題,筆者研究了一下,根據遞迴必有一個條件返回的原則,寫出來的是這樣的 private void button1_Click(object sender, EventArgs e) { int k = 2;

presto-0.147+postgresql-9.5.3+msql-5.0.7+hadoop-2.5.2+hive-1.2.1環境構築以及測試

背景 每個支援SQL的資料庫,都有一個強大的SQL引擎。 而對於SQL引擎,基本都是大同小異的,負責SQL文法解析,語意分析,指定查詢樹,優化查詢樹,再到最終的執行,客戶端返回結果。 而presto的也跟一般的是一樣的。 架構如下: 準備 1.postgresql-9.5

蘋果已經關閉5.1.1的驗證,如何升級到iOS5.1.1或平刷5.1.1

目前蘋果已經關閉了iOS5.1.1的驗證,也就是說採用shift+恢復官方韌體進行升級的方法失效,會一直出現3194錯誤。需要自制韌體,才能升級到iOS5.1.1,不過只支援A4裝置。另外,平刷5.1.1的方法也是一樣的。 1、升級前準備 1)必備條件:已經備份過的i

一個字串A的子串被定義成從A中順次選出若干個字元構成的串。如A=“cdaad" ,順次選135個字元就構成子串" cad" ,現給定兩個字串,求它們的最長共公子串。 小王對既是素數又是迴文的

一個字串A的子串被定義成從A中順次選出若干個字元構成的串。如A=“cdaad" ,順次選1,3,5個字元就構成子串" cad" ,現給定兩個字串,求它們的最長共公子串。 小王對既是素數又是迴文的數特

nginx從1.6.3升級至1.12.2版本(安裝也可參考此文)

準備環境:(僅針對沒有安裝過nginx的系統)檢查並安裝所需的依賴軟體 1).gcc:nginx編譯依賴gcc環境   安裝命令:yum -y install gcc-c++ 2).pcre:(Perl Compatible Regular Expressions)是一個Pe

計算圓周率pai公式:pai = 4*(1-1/3+1/5-1/7 ....)

歷史上有許多計算圓周率pai的公式,其中,格雷戈裡和萊布尼茨發現了下面的公式: pai = 4*(1-1/3+1/5-1/7 ....) 這個公式簡單而優美,但美中不足,它收斂的太慢了。 如果我們四捨五入保留它的兩位小數,那麼: 累積了1項和是:4.00 累積了2項和是:2

C++上機報告 利用公式計算π=4(1-1/3+1/5-1/7+1/9-...)的近似值,直到括號中最後一項的絕對值小於0.000001為止。

上機內容:       利用公式計算π=4(1-1/3+1/5-1/7+1/9-...)的近似值,直到括號中最後一項的絕對值小於0.000001為止。 上機目的:鍛鍊思維能力。 我的程式: /* * 程式的版權和版本宣告部分: * Copyright (c)

利用公式計算π=4(1-1/3+1/5-1/7+1/9-...)的近似值,直到括號中最後一項的絕對值小於0.000001為止

#include<iostream> #include<cmath> using namespace std; int main( ) {int a=1;  double b=1,c=1,pi=0;  while(fabs(c)>=0.0000

C++:利用如下公式,編寫函式計算∏的值,直到最後一項的絕對值小於e,主程式接收從鍵盤輸入的e,輸出∏的值(保留5位小數)。 ∏/4 = 1-1/3+1/5-1/7...

利用如下公式,編寫函式計算∏的值,直到最後一項的絕對值小於e,主程式接收從鍵盤輸入的e,輸出∏的值(保留5位小數)。 ∏/4 = 1-1/3+1/5-1/7...#include <iostre

寫一個函數計算但參數為n(n很大)時的值1-2+3-4+5-6+7……+n。(考慮程序執行效率)

參數 color n) col sys class n-1 == code 1 private static void jisuan(int n) { 2 int sum=0; 3 if(n%2==0){ 4 sum=-(n/2)

計算1/1-1/2+1/3-1/4+1/5+……+1/99-1/100的值

看到這個式子首先總結規律: 1.每一項都是分數 2.分子都為1,分母依次遞增至100 3.分母的奇數項為正,偶數項為負 思路: 1.定義一個sum 2.建立一個迴圈,再判斷是否是奇數,如果是奇數往sum上加,否則(偶數)往sum上減 3.列印sum 程式碼如下: #include <s

如何使用迴圈計算1 + 2 +3 + 4 + 5 + 6 + 8 + 9 + 10的值

1、先嚐試輸出不包含7 第一種方式(在等於7時加1然後繼續下次迴圈) count = 1 while count <= 10: if count == 7: count += 1 # 如果等於7 在count=7的基礎上加1 然後繼續執行迴圈 co

C語言——兩種方法計算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值

方法一:首先我們先觀察這個數學式子的規律,可以發現奇數項均為正數,偶數項均為負數。則我們可以利用條件語句if來判斷奇偶,最後分別對奇數項和偶數項求和。 原始碼: #include<stdio.h> #include<stdlib.h> int main() {

pow函式(數學次方)在c語言的用法,兩種編寫方法例項( 計算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值)

關於c語言裡面pow函式,下面借鑑了某位博主的一篇文章: 標頭檔案:#include <math.h> pow() 函式用來求 x 的 y 次冪(次方),x、y及函式值都是double型 ,其原型為:    double pow(double x, double y