Luminous425 2022-03-10 15:01 采纳率: 83.3%
浏览 45
已结题

求圆周率的近似值的代码

题目要求如下:

img

我根据公式写的算法是这样的:


#include <iostream>
#include <iomanip>
using namespace std;

double jiecheng(int k)
{
    double s = 1;
    for(int i = 1; i <= k; i++)
    {
        s *= i;
    }
    return s;
}
double fenmu(int k)
{
    int s = 1;
    for(int i = 1; k >= 0; k--, i += 2)
    {
        s *= i;
    }
    return s;
}
int main()
{
    double temp1 = 1, temp2 = 1;
    int k = 0;
    double s = 0;
    double u;
    cin >> u;
    while(temp1 / temp2 >= u)
    {
    
        s += temp1 / temp2;
        k++;
        temp1 = jiecheng(k);
        temp2 = fenmu(k);
        
    
    }
    cout << setprecision(6) << 2.0 * s;
    return 0;
}

得出的结果接近题目给出的输出要求,但是不一样,请问是我的算法不够准确吗

img

  • 写回答

1条回答 默认 最新

  • Admini$trat0r .net领域新星创作者 2022-03-10 15:25
    关注
    #include <math.h>
    
    const double PI = acos(-1.0);
    

    听懂掌声

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月22日
  • 已采纳回答 3月14日
  • 创建了问题 3月10日