用c语言编写编写函数计算N!调动函数计算下式的值:S=1+1/(1+4!)+1/(1+4!+7!)+…+1/(1+4!+7!+…+19!)
时间: 2023-09-11 12:09:04 浏览: 48
以下是用C语言编写计算N!的函数:
```c
#include <stdio.h>
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("%d! = %d\n", n, factorial(n));
return 0;
}
```
以下是用C语言编写计算S的函数:
```c
#include <stdio.h>
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
double calculate_S(int n) {
double S = 1.0;
int denominator = 1;
for (int i = 1; i <= n; i++) {
denominator *= factorial(3 * i - 2);
S += 1.0 / denominator;
}
return S;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("S = %lf\n", calculate_S(n));
return 0;
}
```
注意,这里的计算方式是将每个分母拆分成一个连乘的形式,例如分母1 4! 7! … 19!可以拆分成(3*1-2)(3*1+1)(3*2+1)…(3*n-2)的形式。
阅读全文