您的位置:首页 > 其它

c - 计算1到20的阶乘

2014-12-04 11:50 246 查看
#include <stdio.h>

/*
题目:求 1+2!+3!+...+20!的和
*/
unsigned long long int
factorial(long n) {
unsigned long long int tmp = 1;    //每一个数的阶乘,如,1!,2!,3!...20!.
unsigned long long int sum = 0;    //总和,即1+2!+3!+...+20!的和.
for(long long int i = 1; i <= n; i++)     {
tmp *= i;
sum += tmp;
}

return sum;
}

int
main(void) {
unsigned long long int r = factorial(20);
printf("%llu\n", r);

/*
_int64 fact = 1,i,sum = 0;
for(i = 1; i < 21; ++i)    {
fact *= i;
sum += fact;
}
printf("sum = %I64d\n",sum);
*/
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: