求s=1+1/1!+1/2!+1/3!+...+1/N! 输入:int N 输出:double sum / double Calculate1(int n) { double sum; return sum; }
时间: 2023-11-09 08:09:01 浏览: 63
以下是C++代码:
double Calculate1(int n) {
double sum = 0, factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
sum += 1 / factorial;
}
return sum + 1; // 加上s=1的部分
}
相关问题
求s=1+1/1!+1/2!+1/3!+...+1/N! 输入:int N 输出:double sum
以下是Python实现:
```python
import math
N = int(input())
sum = 0.0
for i in range(N + 1):
sum += 1.0 / math.factorial(i)
print(sum)
```
以下是C++实现:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int N;
double sum = 0.0;
cin >> N;
for (int i = 0; i <= N; i++) {
sum += 1.0 / tgamma(i + 1);
}
cout << sum << endl;
return 0;
}
```
注:在C++中,可以使用`tgamma()`函数代替`factorial()`函数来计算阶乘的倒数。
c语言s=1+1+2/2!+1+2+3/3!...+1+2+3+n/n!
以下是C语言实现s=1+1+2/2!+1+2+3/3!...+1+2+3+n/n!的代码:
```c
#include <stdio.h>
int main()
{
int n, i, j;
double m, sum = 0;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
m = 1;
for (j = 1; j <= i; j++)
{
m *= j;
}
sum += (i + (i - 1)) / m;
}
printf("s的值为:%lf", sum);
return 0;
}
```