版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
求20以内n的阶乘。
Input
只有一行输入,整数n(n<=20)。
Output
只有一行输出,数值n!。
Sample Input
16
Sample Output
20922789888000
思路:
水题,需要注意的只有不能使用int类型,要使用long long 类型;long long 的表示范围是 -2^63~+(2^63-1);int的表示范围是-2^31~+(2^31-1),若超出这个范围就只能使用大整数来解决了:大整数
详细变量类型取值范围参考:C语言变量类型及其表示范围
程序代码:
#include<cstdio>
typedef long long ll;
ll fbci(int n){
if(n==1){
return 1;
}else{
return n*fbci(n-1);
}
}
int main(){
int n;
scanf("%d",&n);
printf("%lld\n",fbci(n));
return 0;
}