编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。
1+1/2+ .... +1/n!
输出保留五位小数
样例输入
5
样例输出
sum=1.71667
#include<iostream>
#include<iomanip> //小数点
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;
}