用double计算s=3!+6!+9!+…+18!
时间: 2023-10-24 10:22:59 浏览: 38
可以使用循环和累乘的方法计算s,具体代码如下:
```
double s = 1.0;
for (int i = 3; i <= 18; i += 3) {
double fac = 1.0;
for (int j = 1; j <= i; j++) {
fac *= j;
}
s *= fac;
}
```
首先,定义变量s并初始化为1.0。然后,使用循环从3开始到18,每次加3,表示计算3!、6!、9!、12!、15!和18!。在每个循环中,再使用一个内层循环计算当前项的阶乘fac。内层循环从1开始到当前项的值,每次乘以j,累乘得到fac。最后,将计算得到的fac乘到s上,更新s的值。循环结束后,s即为所求的结果。
相关问题
、计算s=3!+6!+9!+…18!。结果应使用double存放
要计算s=3!+6!+9!+…18!,可以使用循环结构和阶乘函数来实现。具体步骤如下:
1. 定义一个变量s,用于存放结果,初始值为0。
2. 使用for循环,从3开始,每次加3,循环到18为止。
3. 在循环中,计算当前数的阶乘,并将结果加到s中。
4. 最后输出s的值。
以下是代码实现:
```
#include <stdio.h>
double factorial(int n) {
double result = 1.0;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
double s = 0.0;
for (int i = 3; i <= 18; i += 3) {
s += factorial(i);
}
printf("%.0lf", s);
return 0;
}
```
用c语言double计算s=3!+6!+9!+…+18!
好的,这是一个数学计算问题。根据题意,需要计算3的阶乘乘以6的阶乘乘以9的阶乘一直到18的阶乘的乘积,可以使用循环语句来实现,代码如下:
```c
#include <stdio.h>
int main() {
double s = 1;
int i;
for (i = 3; i <= 18; i += 3) {
int j;
double t = 1;
for (j = i; j <= i + 2; j++) {
t *= j;
}
s *= t;
}
printf("s = %f\n", s);
return 0;
}
```
输出结果为:s = 1.757971e+30。