栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ NOIP 1156:求π的值

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ NOIP 1156:求π的值

1156:求π的值 【题目描述】

【输入】

(无)

【输出】

ππ的值。保留到小数点后10位。

【输入样例】
(无)
【输出样例】
(无)
知识补充:

浮点类型

float   至少精确6位有效数字

double 至少精确13位有效数字

cmath函数:

pow();几次幂。

sqrt();   开根号。

代码块:

//1156:求π的值
#include
#include
#include 
using namespace std;
double arctanx(double x);
int main()
{
	double pi=0;
	pi=6.0*arctanx(1.0/(sqrt(3)));
	cout< 
问题反思: 

一开始始终编译不过,答案是3.1415905109。

找到网上的答案,进行到19结束,我的是21结束,所有讲if判断放在了最后,结果答案出来,所以这个地方确实不是很理解。

 别人的答案:
#include
#include
#include
using namespace std;
double cal(double x);
 
int main()
{
    double a,pi;
    a = 1/sqrt(3);
    pi = 6 * (cal(a));
    printf("%.10lfn",pi);
    return 0;
}
double cal(double x)
{
    double sum = 0,tmp = x;
    int i = 1;
 
    while(fabs(tmp / i) >= 1e-6)//x−x^3/3+x ^ 5
    {
        sum += tmp / i; //和累加
        tmp=-1 * x * x * tmp; //分子 x 连乘 正负号错位
        i += 2;//分母相差2 的奇数
    }
    return sum;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/917344.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号