阶乘

    阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。一个正整数的 阶乘 factorial )是所有小于及等于该数的 正整数 ,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。亦即n!=1×2×3×...×n。阶乘亦可以 递归 方式定义:0!=1,n!=(n-1)!×n。
#include

int fac1(int n) { //循环实现
	if (n < 0)return -1;
	int sum = 1;
	for (int i = 1; i <= n; ++i) {
		sum = sum * i;
	}
	return sum;
}

int fac2(int n) {
	if (n < 0)return -1;
	if (0 == n)return 1;
	return n * fac2(n - 1);
}

int main() {
	int n = 0;
	int sum = 0;
	scanf_s("%d", &n);
	sum = fac1(n);
	printf("循环实现:%d的阶乘是%d\n",n,sum);
	sum = fac2(n);
	printf("递归实现:%d的阶乘是%d\n", n, sum);
	return 0;
}
阶乘_第1张图片

你可能感兴趣的:(阶乘)