```#include
using namespace std;
int main()
{
double i = 1.0, x=1.0, sum = 0;
while (x <1e-7)
{
sum = sum + 1 / i;
x = 1 / i;
i = i * (i + 1);
}
cout << sum << endl;
return 0;
}
求e的近似值,这是我写出的代码,跑出来结果是0,求问哪里错了
while (x <1e-7)
->
while (x >1e-7)
否则循环直接跳过去了。
你的x初始化为1,那个while循环进不去的吧?
所以,结果是0。
公式不对,你的i应该是阶乘的
第一次是 1,第二次是2,第三次是6,第四次就是42,实际应为24