#include <iostream>
double f(int i);
int main() {
int n, i;
double s = 0.0;
scanf("%d", &n);
if (n < 0) {
return -1;
}
for (i = 1; i<=n; i++) {
s += f(i);
}
printf("%f\n", s);
return 0;
}
double f(int i) {
if (i == 1) {
return 1.0;
} else {
return f(i - 1) / i;
}
}
编程求 S = 1/1!+ 1/2! + 1/3! + ……+1/n! 的值。用户输入一个正整数n, 程序计算并输出结果。
【要求】
一个数的阶乘分之一用函数计算,函数原型 double f(int i); 计算1/i! 。