c语言求1+1/2!+1/3!+...1/n!
时间: 2023-11-17 20:08:03 浏览: 323
这是一个求1+1/2!+1/3!+...1/n!的问题,其中n是用户输入的数。可以使用循环或递归算法来解决这个问题。下面是两种方法的示例代码:
循环算法:
```c
#include <stdio.h>
int main() {
int n, i;
double sum = 1.0, factorial = 1.0;
printf("请输入n:");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
factorial *= i;
sum += 1.0 / factorial;
}
printf("结果为:%lf", sum);
return 0;
}
```
递归算法:
```c
#include <stdio.h>
double factorial(int n) {
if (n == 1) {
return 1.0;
} else {
return n * factorial(n - 1);
}
}
double sum(int n) {
if (n == 1) {
return 1.0;
} else {
return sum(n - 1) + 1.0 / factorial(n);
}
}
int main() {
int n;
printf("请输入n:");
scanf("%d", &n);
printf("结果为:%lf", sum(n));
return 0;
}
```
阅读全文