//π/2=(2/1)(2/3)(4/3)(4/5)(6/5)(6/7)…
#include
int main()
{double p=2,i;
for(i=2;i<2001;i+=2)
p*=(double)(i*i)/(i*i-1);
printf("%lf",p);
}
#include
#include
void main()
{
double pi=1;
int i;
for(i=1;i<=1000;i=i+2)
pi=pi*(i+1)/i*(i+1)/(i+2);
printf("%.20lf",pi*2);
}1000项只精确到小数点两位
#include
int main()
{
double sum=1;
double an=1;
for(int i=1;i<=1000;i++)
{
if(i%2==0) an=(double)i/(i+1);
else an=(double)(i+1)/i;
sum*=an;
printf("%f\t",2*sum);//输出每次计算的近似值
}
printf("\n所求结果的近似值为:%f\n",2*sum);
return 0;
} 运行结果:3.143335 3.139854 3.143331 3.139857 3.143327
3.139861 3.143323 3.139865 3.143319 3.139869
3.143315 3.139873 3.143312 3.139876 3.143308
3.139880 3.143304 3.139884 3.143301 3.139888
3.143297 3.139891 3.143293 3.139895 3.143289
3.139899 3.143286 3.139902 3.143282 3.139906
3.143279 3.139910 3.143275 3.139913 3.143271
3.139917 3.143268 3.139920 3.143264 3.139924
3.143261 3.139927 3.143257 3.139931 3.143254
3.139934 3.143250 3.139938 3.143247 3.139941
3.143243 3.139945 3.143240 3.139948 3.143236
3.139952 3.143233 3.139955 3.143229 3.139959
3.143226 3.139962 3.143223 3.139965 3.143219
3.139969 3.143216 3.139972 3.143212 3.139975
3.143209 3.139979 3.143206 3.139982 3.143202
3.139985 3.143199 3.139989 3.143196 3.139992
3.143193 3.139995 3.143189 3.139998 3.143186
3.140002 3.143183 3.140005 3.143180 3.140008
3.143177 3.140011 3.143173 3.140014 3.143170
3.140018 3.143167 3.140021 3.143164 3.140024所求结果的近似值为:3.140024
Press any key to continue