对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。 C语言
时间: 2023-12-01 21:42:30 浏览: 190
以下是两种C语言计算S的方法:
方法一:
```c
#include <stdio.h>
int main()
{
int i, n;
double p = 1, sum = 0;
printf("请输入一个整数:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
p = p * i;
sum = sum + p;
}
printf("1!+2!+...+%d!=%.0f\n", n, sum);
return 0;
}
```
方法二:
```c
#include <stdio.h>
int main()
{
int n, i, j;
double p, sum = 0;
printf("请输入一个整数:");
scanf("%d", &n);
for (i = 1; i <= n; i++) //阶乘的次数
{
p = 1;
for (j = 1; j <= i; j++)
p = p * j;
sum = sum + p;
}
printf("sum=%.0f\n", sum); //结果的输出
return 0;
}
```
相关问题
对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。c语言
以下是给定正整数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位。
阅读全文