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;
}
相关推荐
tomorrow.hello8 分钟前
Java并发测试工具
java·开发语言·测试工具
晓131325 分钟前
JavaScript加强篇——第四章 日期对象与DOM节点(基础)
开发语言·前端·javascript
老胖闲聊26 分钟前
Python I/O 库【输入输出】全面详解
开发语言·python
jdlxx_dongfangxing29 分钟前
进制转换算法详解及应用
算法
why技术2 小时前
也是出息了,业务代码里面也用上算法了。
java·后端·算法
她说人狗殊途2 小时前
java.net.InetAddress
java·开发语言
天使day2 小时前
Cursor的使用
java·开发语言·ai
2501_922895582 小时前
字符函数和字符串函数(下)- 暴力匹配算法
算法
Dxy12393102162 小时前
Python ExcelWriter详解:从基础到高级的完整指南
开发语言·python
IT信息技术学习圈3 小时前
算法核心知识复习:排序算法对比 + 递归与递推深度解析(根据GESP四级题目总结)
算法·排序算法