C语言---计算n的阶乘

阶乘的概念:一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,且0的阶乘为1,自然数n的阶乘写作n!

任何大于等于1 的自然数n 阶乘表示方法:

n!=1×2×3×...×(n-1)×n 或 n!=n×(n-1)!

0!=1

1! = 1

2! = 2 * 1 = 2

3! = 3 * 2 * 1 = 6

...

n! = n * (n-1) *... * 2 * 1

第一种 :用递归的方法计算(函数调自己

cpp 复制代码
//递归
int fun(int n)
{
	if (n > 1)//限制条件
	{
		return n * fun(n - 1);
	}
	else//0 ,1的阶乘
		return 1;
}
int main()
{
	int n = 0;
	scanf("%d", &n);
	int a=fun(n);
	printf("%d ", a);
	return 0;
}

第二种:用非递归的方法计算

cpp 复制代码
int main()
{
	int n = 0;
	int sum = 1;
	int i = 1;
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
	{
		sum *= i;//sum=sum*i
	}
	printf("%d\n", sum);
	return 0;
}
相关推荐
用户6120414922139 分钟前
C语言做的区块链模拟系统(极简版)
c语言·后端·敏捷开发
weixin_307779139 分钟前
C++进程监视器与自动启动程序
开发语言·c++·算法
草莓熊Lotso29 分钟前
【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day12
c语言·开发语言·c++·刷题
不喜欢学数学er39 分钟前
算法第五十三天:图论part04(第十一章)
开发语言·python·图论
你怎么知道我是队长1 小时前
python---构造函数、析构函数
开发语言·python
heeheeai1 小时前
jvm对象内存占用
开发语言·jvm·内存分析
CoovallyAIHub1 小时前
目标检测模型评估金标准:mAP全解读,Coovally助你高效调参!
深度学习·算法·计算机视觉
whitepure1 小时前
万字详解常用算法(Java版)
java·后端·算法
ALex_zry1 小时前
Golang云端编程深度指南:架构本质与高阶实践
开发语言·架构·golang
CoovallyAIHub1 小时前
基于视觉的果园无人机导航:一种基于干预模仿学习与VAE控制器的真实世界验证
深度学习·算法·计算机视觉