题目 1071:阶乘公式求值

编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。
1+1/2+ .... +1/n!
输出保留五位小数
样例输入
5
样例输出
sum=1.71667

#include
#include  //小数点
using namespace std;

double fact(int k) {
	double res = 1;
	for (int i = k; i >= 1; i--) {  //累乘 5*4*3*2...
		res = res * i;
	}

	return res;
}

int main() {
	int n;
	cin >> n; //输入的数

	double last = 0;  //表达式的值
	for (int i = 1; i <= n; i++) {
		last = last + 1 / fact(i);
	}

	cout << fixed << setprecision(5)<<"sum=" << last << endl;

	return 0;
}

你可能感兴趣的:(算法,c++,开发语言)