OpenJ_Bailian - 2730 求20以内n的阶乘

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_42410605/article/details/102723344

求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; 
}

运行结果:

猜你喜欢

转载自blog.csdn.net/qq_42410605/article/details/102723344