#include<iostream>
#include<iomanip>
using namespace std;
float jisuan(int);
int main()
{
int n;
while (cin >> n)
{
cout << setiosflags(ios::fixed)<<setprecision(6) << jisuan(n) << endl;
}
}
float jisuan(int n)
{
if (n == 1)return 1;
else return 1 / (2 * n - 1) + jisuan(n - 1);
}
一道练习题,题上的案例都通过了但是不通过审核,求帮忙
1/(2 * n - 1)是整除,结果是0。你需要写成 1.0/(2 * n- 1)
#include<iostream>
#include<iomanip>
using namespace std;
float jisuan(float);
int main()
{
int n;
while (cin >> n)
{
cout << setiosflags(ios::fixed)<<setprecision(6) << jisuan(n) << endl;
}
}
float jisuan(float n)
{
if (n == 1)return 1;
else return 1 / (2 * n - 1) + jisuan(n - 1);
}
改了点,但是还是提交失败