用C语言求1~20的阶乘之和!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言求1~20的阶乘之和!相关的知识,希望对你有一定的参考价值。
要求有过程,拜托高手解答!
/****程序描述:求求1~20的阶乘之和。
**算法思路:先求出每一项的阶乘值,然后将所有项的阶乘值相加。
*/
#include <stdio.h>
#define N 20
typedef unsigned long long uInt64; //自定义类型
//求出每一项阶乘值的函数
uInt64 fact(int n)
int i;
uInt64 s;
for(i=s=1;i<=n;i++)
s*=i; //从1开始循环累加相乘
return s;
int main()
uInt64 s;
int i;
for(i=1,s=0;i<=N;i++)
s+=fact(i); //从第1项开始循环累加每一项的阶乘值
printf("1!+2!+3!+……+20!=%llu\\n",s);
return 0;
参考技术A #include<stdio.h>void main()
int i;
double t=1,sum=0; //由于20的阶乘int和long int都放不下.所以用double.
for(i=1;i<=20;i++) //从1循环到20.
t = t * i; //计算1~20的阶乘.
sum = sum + t; //将1~20的阶乘累加到sum中.
printf("%.0f\n",sum); //输出sum.
参考技术B #include <stdio.h>
void main ()
unsigned long i=2;
unsigned long p=1;
unsigned long sum = 1;
int n = 20 ;
for(;i<=n;)
p=p*i;
i++;
sum+=p;
printf("%d\n",sum);
参考技术C 参考技术D 在一起就好了?你要我怎么做什么样的人是不是也是因为你们喜欢我们家小鲜肉们都是从这里走向世界杯足球赛决赛
C语言练习010:求1到10的阶乘之和
#include <stdio.h> int factorial(int n) { if(0==n) return 1; if(1==n) return 1; return n*factorial(n-1); } int main() { int n=10; int sum=0; int i; for(i=1;i<=n;i++){ int m=factorial(i); printf("%d->%d\\n",i,m); sum+=m; } printf("%d\\n",sum); return 0; }
以上是关于用C语言求1~20的阶乘之和!的主要内容,如果未能解决你的问题,请参考以下文章