<c语言阶乘和实现-生活常识-龙咔百科
> 生活常识 > 列表
c语言阶乘和实现
时间:2024-12-23 15:36:22
答案

一、算法分析:

计算阶乘和分成两步:

1 计算阶乘。 对于n的阶乘,从1累乘到n即可。 

2 每个阶乘相加。 

于是算法可以设计为,从1到20循环,计算每个数的阶乘,并累加。 

由于n!=(n-1)! *n, 所以每次计算阶乘,可以利用上次的结果,减少运算量。 

二、代码实现:

#include 

int main()

{

long long fac=1, s=0;//fac用来存储阶乘,s用来存储阶乘和。

int i;

for(i = 1; i <= 20; i ++)//循环20次

{

fac*=i;//计算阶乘

s+=fac;//累加

}

printf("%lld\n", s);//输出结果

return 0;

}

三、输出结果:

2561327494111820313

四、注意事项:

1 由于20阶乘和很大,达到2.56*10^18,所以32位的int是存储不下的。 必须使用64位的long long。 否则会出现溢出现象。 

2 如果是VC/VS一类的IDE,会不支持long long, 需要修改类型为__int64。

推荐
© 2024 龙咔百科