S=1+ 1! 1 + 2! 1 + 3! 1 + 4! 1 +...+ n! 1
时间: 2023-11-26 13:05:05 浏览: 70
这个问题是求阶乘的和,可以使用循环和递归两种方式来实现。
循环实现:
```
#include <stdio.h>
int main() {
int n, i, j;
double sum = 1, fac = 1;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
fac = 1;
for (j = 1; j <= i; j++) {
fac *= j;
}
sum += 1.0 / fac;
}
printf("S=%lf", sum);
return 0;
}
```
递归实现:
```
#include <stdio.h>
double factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n, i;
double sum = 1;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += 1.0 / factorial(i);
}
printf("S=%lf", sum);
return 0;
}
```
阅读全文