C语言n的阶乘的递归算法与非递归算法

下面就是在C语言中C的阶乘的算法(只是算法)

一、n!的递归算法

int f(int n)
{
	if (n == 0)
	{
		return 1;
	}
	else
	{
		return (n * f(n - 1));
	}
}

二、n!的非递归算法

int F(int n)
{
	int f = 1;
	for (int i = 1; i <= n; i++)
	{
		f = f * i;
	}
	return f;

三、函数的调用!

#include
#define number 6//从这改变number的值,实现n!的阶乘
int main()
{
	int s;
	s = f(number);//这是递归
	printf("%d\n", s);
	int i;
	i = F(number);//这是非递归
	printf("%d\n", i);
	return 0;
}

有不懂的欢迎留言!

你可能感兴趣的:(算法,数据结构)