求阶乘 求1!+2!+…+20!,其中x!=1*2*…*x,表示阶乘。 输入说明: 输入一个大于3, 小于等于20的整数N 输出说明: 输出从1!+2!+3!+...+N!的和
时间: 2023-12-07 18:38:37 浏览: 84
C语言是一种通用的、面向过程式的计算机程序设计语言。它广泛应用于系统软件、应用软件、驱动程序、嵌入式系统、游戏开发等领域。下面是求阶乘和的C语言代码:
```
#include <stdio.h>
int main() {
int n, i, j;
long long sum = 0, fac = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
fac = 1;
for (j = 1; j <= i; j++) {
fac *= j;
}
sum += fac;
}
printf("%lld", sum);
return 0;
}
```
输入一个大于3,小于等于20的整数N,然后使用两个for循环分别计算每个数的阶乘并求和,最后输出结果。需要注意的是,由于阶乘的结果可能非常大,所以需要使用long long类型来存储结果。
相关问题
求阶乘 求1!+2!+…+20!,其中x!=1*2*…*x,表示阶乘。 输入说明: 输入一个大于3, 小于等于20的整数N 输出说明: 输出从1!+2!+3!+...+N!的和
求阶乘是指将一个正整数n的所有小于等于n的正整数相乘,得到的积即为n的阶乘,用符号n!表示。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。而题目要求的是1!+2!+…+20!,即将1到20的阶乘相加的结果。
以下是两种不同的实现方法:
1. 递归实现:
代码中的RJieCheng函数就是用来计算一个数的阶乘的,而主函数中的for循环则是将1到n的阶乘相加,得到最终结果。
2. 非递归实现:
代码中的两个for循环分别用来计算每个数的阶乘和将所有阶乘相加的结果。
求阶乘 求1!+2!+…+20!,其中x!=1*2*…*x,表示阶乘。 输入说明: 输入一个大于3, 小于等于20的整数N 输出说明: 输出从1!+2!+3!+...+N!的和
阶乘是指一个正整数n的阶乘,表示为n!,它是所有小于等于n的正整数的积。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。要求计算1!+2!+…+20!,其中x!=1*2*…*x,表示阶乘。
```C++
//计算n的阶乘
double fact(int n){
if(n==0) return 1;
else return n*fact(n-1);
}
//计算x的n次幂
double mypow(double x,int n){
if(n==0) return 1;
else if(n%2==0) return mypow(x*x,n/2);
else return mypow(x*x,n/2)*x;
}
int main(){
int n;
double sum=0;
cin>>n;
for(int i=1;i<=n;i++){
sum+=fact(i);
}
cout<<fixed<<setprecision(4)<<sum<<endl;
return 0;
}
```
阅读全文