求1!+2!+3!+……+n!longlong型
时间: 2024-01-12 08:05:44 浏览: 23
以下是求1!+2!+3!+……+n!的long long型代码演示:
```c++
#include <stdio.h>
int main()
{
int n;
long long sum = 0, temp = 1;
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
temp *= i;
sum += temp;
}
printf("%lld\n", sum);
return 0;
}
``解释:
1. 首先定义变量n表示要求的阶乘数,sum表示最终结果,temp表示每个阶乘的值。
2. 通过scanf函数获取用户输入的n的值。
3. 在for循环中,每次将temp乘以i,然后将结果加到sum中。
4. 最后输出sum的值,注意要使用%lld格式输出long long型数据。
--相关问题--:
相关问题
求1!+2!+……+n!
以下是两种解决方法:
1.使用Java语言求解1!+2!+……+n!
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long sum = 0;
long jec = 1;
for (int i = 1; i <= n; i++) {
jec *= i;
sum += jec;
}
System.out.println(sum);
}
}
```
2.使用C语言求解1!+2!+……+n!
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
long sum = 0;
long jec = 1;
for (int i = 1; i <= n; i++) {
jec *= i;
sum += jec;
}
printf("%ld", sum);
return 0;
}
```
求∑n! 1!+2!+ ……+n!
以下是C语言实现求1!+2!+3!+……+20!的累加和的代码:
```c
#include <stdio.h>
long fac(int n) {
long f = 1;
int i;
if (n < 0) {
printf("n < 0, data error!\n");
} else if (n == 0 || n == 1) {
f = 1;
} else {
f = fac(n - 1) * n;
}
return f;
}
int main() {
int i;
long sum = 0;
for (i = 1; i <= 20; i++) {
sum = sum + fac(i);
}
printf("1!+2!+3!+……+20!=%ld", sum);
return 0;
}
```
输出结果为:1!+2!+3!+……+20!=2561327494111820313
--相关问题--:
1. 如何在C语言中计算阶乘?
2. 如何在C语言中使用递归实现阶乘计算?
3. 如何在C语言中