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;
}
相关推荐
广州灵眸科技有限公司5 分钟前
瑞芯微(EASY EAI)RV1126B yolov11-track多目标跟踪部署教程
linux·开发语言·网络·人工智能·yolo·机器学习·目标跟踪
灵动小溪6 分钟前
claude code工具PC安装部署
人工智能·算法
智慧物业老杨32 分钟前
智慧物业数智化转型实战:从工单响应到业主满意度的闭环构建
java·开发语言
Kiling_070435 分钟前
Java集合框架:List集合详解与应用
java·开发语言·windows
fan_music1 小时前
C语言如何实现C++的类
开发语言·c++
毋语天1 小时前
Python 常用内置模块详解:日志、随机数、时间、OS 与 JSON
开发语言·python
Asa121381 小时前
Nature Microbiology|跨微生物界菌株水平传播推断的新算法TRACS
算法
右耳朵猫AI1 小时前
Python技术周刊 2026年第14周
开发语言·python·okhttp
叼烟扛炮1 小时前
C++ 知识点22 函数模板
开发语言·c++·算法·函数模版
Tisfy1 小时前
LeetCode 2553.分割数组中数字的数位:模拟(maybe+翻转)——java也O(1)
java·数学·算法·leetcode·题解·模拟·取模