美文网首页
【MAC 上学习 C++】Day 65-3. 7-15 计算圆周

【MAC 上学习 C++】Day 65-3. 7-15 计算圆周

作者: RaRasa | 来源:发表于2020-04-10 00:06 被阅读0次

    7-15 计算圆周率 (15 分)

    1. 题目摘自

    https://pintia.cn/problem-sets/14/problems/795

    2. 题目内容

    根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
    \frac{π}{2} = 1 + \frac{1}{3} + \frac{2!}{3×5} + \frac{3!}{3×5×7} + ⋯ + \frac{n!}{3×5×7×⋯×(2n+1)} + ⋯

    输入格式:

    输入在一行中给出小于1的阈值。

    输出格式:

    在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。

    输入样例:

    0.01

    输出样例:

    3.132157

    3. 源码参考
    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int fact1(int n);
    int fact2(int n);
    
    int main()
    {
      double s, a, b;
      int i, n;
      
      cin >> a;
      s = 1;
      for(i = 1; ; i++)
      {
        b = 1.0 * fact1(i) / fact2(i);
        s += b;
        if(b < a)
        {
          break;
        }
      }
    
      cout << fixed << setprecision(6) << s * 2 << endl;
    
      return 0;
    }
    
    int fact1(int n)
    {
      int i, s;
    
      s = 1;
      for(i = 1; i <= n; i++)
      {
        s *= i;
      }
    
      return s;
    }
    
    int fact2(int n)
    {
      int i, s;
    
      s = 1;
      for(i = 0; i < n; i++)
      {
        s *= (3 + i * 2);
      }
    
      return s;
    }
    

    相关文章

      网友评论

          本文标题:【MAC 上学习 C++】Day 65-3. 7-15 计算圆周

          本文链接:https://www.haomeiwen.com/subject/udtbmctx.html