p/4=1-1/3+1/5-1/7+...+1/(4n-3)-1/(4n-1)
(n=2000)
#include <iostream>
using namespace std;
int main()
{
float sum = 0;
float pai;
for(int n=1;n<=2000;n++)
{
float a1 = 1.0 / (4*n-3);
float a2 = 1.0 / (4*n-1);
sum = sum + a1 - a2;
}
pai = sum * 4;
cout << "π=" << pai << endl;
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2020-03-18
上机内容:
利用公式计算π=4(1-1/3+1/5-1/7+1/9-...)的近似值,直到括号中最后一项的绝对值小于0.000001为止。
上机目的:锻炼思维能力。
我的程序:
/*
* 程序的版权和版本声明部分:
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 文件名称:1.cpp
* 作 者:陆文飞
* 完成日期:2012 年 9 月 22 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:无
* 问题描述:锻炼思维能力
* 程序输出:看运行结果
* 问题分析:略
* 算法设计:略
*/
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
int i = 1;
double m = 1,n = 1,pi = 0;
while((fabs(n))>1e-7)
{
pi = pi + n;
m = m + 2;
i = -i;
n = i/m;
}
pi = pi * 4;
cout<<"pi="<<setiosflags(ios::fixed)<<setprecision(6)<<pi<<endl;
利用公式计算π=4(1-1/3+1/5-1/7+1/9-...)的近似值,直到括号中最后一项的绝对值小于0.000001为止。
上机目的:锻炼思维能力。
我的程序:
/*
* 程序的版权和版本声明部分:
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 文件名称:1.cpp
* 作 者:陆文飞
* 完成日期:2012 年 9 月 22 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:无
* 问题描述:锻炼思维能力
* 程序输出:看运行结果
* 问题分析:略
* 算法设计:略
*/
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
int i = 1;
double m = 1,n = 1,pi = 0;
while((fabs(n))>1e-7)
{
pi = pi + n;
m = m + 2;
i = -i;
n = i/m;
}
pi = pi * 4;
cout<<"pi="<<setiosflags(ios::fixed)<<setprecision(6)<<pi<<endl;