连续阶乘计算
程序员文章站
2022-03-09 16:11:19
...
阶乘计算
- 算法思路
1、依靠循环来实现累乘计算;
2、res*=n;
//阶乘计算
#include<stdio.h>
int main()
{
int i;
int n;
int res=1;
printf("请输入一个整数:");
while(scanf("%d",&n)>0){
for(i=1;i<=n;i++){
res*=i;
}
printf("%d阶乘是:%d\n",n,res);
res=1;
printf("请输入一个整数:");
}
return 0;
}
输出结果:
请输入一个整数:5
5阶乘是:120
请输入一个整数:10
10阶乘是:3628800
请输入一个整数:15
15阶乘是:2004310016
请输入一个整数:14
14阶乘是:1278945280
请输入一个整数:13
13阶乘是:1932053504
请输入一个整数:12
12阶乘是:479001600
请输入一个整数:11
11阶乘是:39916800
请输入一个整数:
代码分析:这里输入到13开始出现,结果错误;
原因:数值过大,int类型值产生溢出错误,这里用2的31次幂进行试验。
编译器提示:
推荐阅读