圆周率求解
题目是由近似公式π/2=2/1*2/3*4/3*4/5*6/5*6/7...... 以此类推(保留六位小数)。#include<stdio.h>
int main()
{
double pi=1.0;
int s,n,t;
s=2,t=1;
for(n=1;n<50;n++)
{
pi=s/t*pi;
t=t+2;
pi=pi*s/t;
s=s+2;
}
pi=2*pi;
printf("%.6f",pi);
return 0;
}
问题在哪?我实在是发现不了 这公式有问题吧,怎么看都不是收敛的 BngThea 发表于 2017-11-26 12:53
这公式有问题吧,怎么看都不是收敛的
我已经进了死胡同 23551 发表于 2017-11-26 12:58
我已经进了死胡同
用泰勒公式在0处展开一下 BngThea 发表于 2017-11-26 13:05
用泰勒公式在0处展开一下
大一的我而且学数六的我并不知道泰勒公式怎么用。。。。。。 #include <stdio.h>
int main()
{
double pi=1;
double n=1;
for(int i=1;i<=100000;i++)
{
if(i%2==0)
n=(double)i/(i+1);
else
n=(double)(i+1)/i;
pi*=n;
}
printf("所求结果的近似值为:%.6f\n",2*sum);
return 0;
}
页:
[1]