很简单的题,根据题目给出的公式计算N从1到9的时候e的值。
小数点后面的0貌似不用管,只需要控制小数点后面数字的位数就可以了。
e=Σ0<=i<=n1/i!
//By:一只大幽灵
//Time:2012/4/10
#include <iostream>
using namespace std;
class Calculate {
public:
double f(int n);
void calc();
private:
};
double Calculate::f(int n) {
double s = 1;
if (n == 0)return 0;
for (int i = 1; i <= n; i++) {
s *= i;
}
return 1.0 / s;
}
void Calculate::calc() {
int n;
double s;
s = 1;
for (n = 0; n <= 9; n++) {
s += f(n);
cout << n << ' ';
cout << fixed;
cout.precision(9);
cout << s << endl;
cout.unsetf(ios::fixed);
}
}
int main() {
cout << 'n e' << endl;
cout << '- -----------' << endl;
Calculate c;
c.calc();
return 0;
}