1. 程式人生 > >遞迴和非遞迴分別實現求n的階乘

遞迴和非遞迴分別實現求n的階乘

int Factorial_r(int num)
{
	//非遞迴實現  
	int k = 1;
	while (num > 0)
		k *= num--;
	return k;
}

int Factorial(int num)
{
	//遞迴實現  
	return num > 0 ? num * Factorial(num - 1) : 1;
}

int main()
{
	int n = 0;

	printf("請輸入一個數,求他的階乘:\n");
	scanf_s("%d", &n);
	printf("%d\n", Factorial(n));
	printf("%d\n", Factorial_r(n));
	system("pause");
	return 0;
}