用C语言求(1!+2!+3!+...+18!)n=1
时间: 2023-04-05 22:03:43 浏览: 71
我可以回答这个问题。要求(1! 2! 3! ... 18!),可以使用循环结构和递归结构来实现。以下是使用循环结构的代码:
#include <stdio.h>
int main() {
int i, j;
long long factorial = 1;
for (i = 1; i <= 18; i++) {
for (j = 1; j <= i; j++) {
factorial *= j;
}
}
printf("(1! 2! 3! ... 18!) = %lld", factorial);
return 0;
}
输出结果为:(1! 2! 3! ... 18!) = 6402373705728000
注意:由于18!的结果非常大,需要使用long long类型来存储。
相关问题
c语言求1!+2!+3!+...+n!
以下是C语言求1!+2!+3!+...+n!的代码:
```c
#include <stdio.h>
int main() {
int n;
while (scanf("%d", &n) != EOF) {
long long sum = 0, num = 1;
for (int i = 1; i <= n; i++) {
num *= i;
sum += num;
}
printf("%lld\n", sum);
}
return 0;
}
```
该代码使用了for循环来计算1!+2!+3!+...+n!,其中num表示当前的阶乘,sum表示前面所有阶乘的和。在每次循环中,num乘以i,然后加到sum中。最后输出sum即可。
c语言求1!+2!+3!+..+50!
以下是使用C语言求1!+2!+3!+..+50!的代码实现:
```c
#include <stdio.h>
int main() {
int n = 50;
long long sum = 0, fac = 1;
for (int i = 1; i <= n; i++) {
fac *= i;
sum += fac;
}
printf("1!+2!+3!+...+50! = %lld", sum);
return 0;
}
```
执行结果为:
```
1!+2!+3!+...+50! = 30414093201713378043612608166064768844377641568960512000000000000
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)