For循环问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 10:33:27
题目:∏/4=1-1/3+1/5-1/7+...
程序:
#include <math.h>
main()
{
int s;
float n,t,pi;
t=1;pi=0;n=1.0;s=1;
while((fabs(t))>=1E-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.6f\n",pi);
}
提问:为什么是pi=pi+t呢?还有就是pi=pi*4是什么意思呢?
pi最终的值吗?

pi=pi+t是累加,比如第一次循环,pi=0+1=1,接下来算t=s/n=-1/3,在第二次循环把t加到pi上去,pi=1-1/3,接下来t=1/5,第三次循环pi=1-1/3+1/5.......
最终循环结束算出来的pi=1-1/3+1/5-1/7+... =∏/4,我想题目要求是要得到圆周率,所以要pi=pi*4=∏

前人总结的略算圆周率的算法,咱不好说什么

计算pi
是3.1415926

就是上面的公式迭代出来的:
t = 1, -1/3 等
pi = pi*4,就是还原那个∏/4

就是求pi的近似值,根据公式:∏/4=1-1/3+1/5-1/7+...
当然是pi=pi+t了,因为最后要求的是∏的值,所以要*4了.

上面程序是主要目的就是通过:∏/4=1-1/3+1/5-1/7+... 来求出∏也就是PI 你要站到数学角度上去看这个问题就相当简单了。