用C语言编写代码,要求如下:定义函数long jc(int k)用于求阶乘,分母的数据是一个公差为3的等差数列。求s=1+1/(4!+1)+...+1/(1+4!+7!+...+19!)
时间: 2023-11-24 18:05:54 浏览: 184
以下是用C语言编写代码,实现上述要求的程序:
```c
#include <stdio.h>
long jc(int k) { // 定义阶乘函数
long result = 1;
for (int i = 1; i <= k; i++) {
result *= i;
}
return result;
}
int main() {
int n = 5; // 等差数列项数
long denominator = 1; // 分母
double s = 1.0; // s的初值为1
for (int i = 1; i <= n; i++) {
denominator += 3 * (i - 1); // 公差为3的等差数列
s += 1.0 / jc(denominator); // 累加每一项的倒数
}
printf("s = %lf\n", s); // 输出结果
return 0;
}
```
相关问题
C语言编写函数计算N! [提示]定义函数long jc(int k)用于求阶乘,分母的数据是一一个公差为3的等差数列的阶乘和
以下是C语言代码实现:
```c
#include <stdio.h>
long jc(int k); //函数声明
int main()
{
int n;
long sum = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i += 3)
{
sum += jc(i); //累加公差为3的等差数列的阶乘和
}
printf("公差为3的等差数列的阶乘和为:%ld\n", sum);
return 0;
}
long jc(int k) //函数定义
{
long result = 1;
for (int i = 1; i <= k; i++)
{
result *= i; //求k的阶乘
}
return result;
}
```
在上面的代码中,我们定义了一个函数`jc(int k)`,用于计算k的阶乘。然后在`main`函数中,我们根据输入的正整数n,累加公差为3的等差数列中每个数的阶乘,最后输出阶乘和。
编写函数计算N!,调用该函数计算下式的值:S=1+1/(1+4!)+1/(1+4!+7!)+......+1/(1+4!+7!+......+19!)。提示:定义函数long jc(int k)用于求阶乘,分母的数据是一个公差为3的等差数列
以下是C语言实现计算S的代码:
```c
#include <stdio.h>
long jc(int k) { // 求阶乘
long t = 1;
for (int i = 1; i <= k; i++) {
t *= i;
}
return t;
}
double fun(int n) { // 计算S
double sn = 1.0;
int t = 1;
for (int i = 1; i <= n; i++) {
sn += 1.0 / (t * jc(t + 2));
t += 3;
}
return sn;
}
int main() {
double sum = fun(5); // 计算S的值,n=5
printf("sum is %f\n", sum);
return 0;
}
```
输出结果为:
```
sum is 1.408163
```
阅读全文