对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。c语言
时间: 2023-11-17 22:03:29 浏览: 139
以下是给定正整数N,计算S=1!+2!+3!+...+N!的C语言代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int sum = 0;
int s = 1;
for (int i = 1; i <= n; i++) {
s *= i;
s %= 1000000;
sum += s;
sum %= 1000000;
}
printf("%d", sum);
return 0;
}
```
代码思路解析:
1.首先读入正整数N。
2.定义变量sum和s,分别用于存储S和i的阶乘。
3.使用for循环遍历1到N,计算i的阶乘并对1000000取余,将结果加到sum中并对1000000取余。
4.最后输出sum即可。
相关问题
C语言对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!
以下是C语言计算S=1!+2!+3!+...+N!的代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int sum = 0;
int s = 1;
for (int i = 1; i <= n; i++) {
s *= i;
s %= 1000000;
sum += s;
sum %= 1000000;
}
printf("%d", sum);
return 0;
}
```
这段代码使用了两个变量sum和s,其中sum用于存储S的值,s用于存储i的阶乘。在每次计算i的阶乘时,都需要对1000000取余,以避免计算结果过大导致溢出。同时,在每次计算完s后,都需要将其加到sum中,并对1000000取余。最后输出sum即可得到S的末6位。
对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N! 用c语言呈现
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int sum = 0;
int s = 1;
for (int i = 1; i <= n; i++) {
s *= i;
s %= 1000000;
sum += s;
sum %= 1000000;
}
printf("%d", sum);
return 0;
}
```
--相关问题--:
1. 如何计算一个数的阶乘?
2. 如何在C语言中进行取
阅读全文