zoukankan      html  css  js  c++  java
  • 一本通1156 求π的值

    【题目描述】

      根据公式:

      定义函数 arctanx(x),求当最后一项小于10-6时π的值。

    【输入】

    (无)

    【输出】

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

    1.一开始看到题一脸懵逼,过于简单的题干和神奇的求解公式让人惆怅,发人深思,完全没法做嘛。

    2.没过多久就发现这是个制仗题……

    3.题解
    (1)硬核打表

    手机上的(或者电脑上的)计算器真的NB……直接cout就行了嘛……
    (2)抄近道
    其实求π公式很多,咱也可以不用出题人的这个嘛(看起来好麻烦…)
    就比如下面这个


    用简单的循环直接搞就是了,多算几位也没关系,四舍五入然后再cout个十位的就是了。其他公式也同理。
    (3)正解
    其实也不难,还是函数+循环的基本操作,话不多说上代码:

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    using namespace std;
    double hanshu(double x);
    int main()
    {
    double a,pai;
    a=1/sqrt(3);
    pai=6*(hanshu(a));
    printf("%.10lf
    ",pai);
    return 0;
    }
    double hanshu(double x)
    {
    double sum=0,temp=x;
    int i=1;
    while(fabs(temp/i)>=1e-6)
    {
    sum+=temp/i;
    temp=-1xx*temp;
    i+=2;
    }
    return sum;
    }

    嗯对没错就是这样。
    4.最后总结一下吧:
    这道题很典型,虽然正解不难打,但其他的方法无疑要巧妙省力的多。在做题的时候往往应该避开常规思路,寻求特殊解或巧解,这可能也是解决问题的捷径。

  • 相关阅读:
    leetcode--Populating Next Right Pointers in Each Node II
    leetcode—Populating Next Right Pointers in Each Node
    Pascal's Triangle II
    leetcode—pascal triangle
    leetcode—triangle
    October 23rd, 2017 Week 43rd Monday
    October 22nd, 2017 Week 43rd Sunday
    October 21st 2017 Week 42nd Saturday
    October 20th 2017 Week 42nd Friday
    October 19th 2017 Week 42nd Thursday
  • 原文地址:https://www.cnblogs.com/Jiangxingchen/p/12236654.html
Copyright © 2011-2022 走看看