c137chen 2021-07-01 19:57 采纳率: 100%
浏览 56
已采纳

c++ 无论输入什么输出都是1,哪里出现问题?

img

#include using namespace std;

int f1(int j,float i) { if (j == 0) { return 1; } else { return f1(j - 1,i) * (j / (2*j +1)); } }

int main() { int j; float result;

float i;
cin >>i ;
for (j=0;f1(j,i)>i;j++)
    result += f1(j,i);
cout <<  result <<endl;
return 0;

}

  • 写回答

2条回答 默认 最新

  • 浪客 2021-07-01 21:04
    关注
    #include <iomanip>
    #include <iostream>
    using namespace std;
    
    int main()
    {
        long long dx = 1, dy = 1, n = 1;
        double i, sum = 0, result;
        cin >> i;
    
        while (1)
        {
            if (n > 2)
                dx *= n - 1;
            dy *= 2 * (n - 1) + 1;
            result = dx * 1.0 / dy;
            sum += result;
            if (result < i)
                break;
            n++;
        }
    
        cout << setprecision(11) << sum * 2 << endl;
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求PHP跨站免登录技术
  • ¥15 AVL fire DVI中的Design Explorer里面的Objectives /Constraints的scale应该怎么设置
  • ¥15 qml如何绘制三维笛卡尔坐标系并向其中添加折线?
  • ¥15 treelib库有读取树数据方法吗?
  • ¥15 咨询一个PYTHON的问题
  • ¥15 机器学习建模调参,roc评价指标
  • ¥15 RCS plot 包内置数据集使用时报错,如何解决?
  • ¥15 keil+mspm0g3507+二维总线舵机
  • ¥15 如何用wireshark分析找出url接口和param参数
  • ¥15 有谁知道这是阿里云那个应用的域名吗,怎么调用?