DP阶乘

梦想游戏人
目录:
algorithm

先写出暴力递归解法

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

然后转换为DP 保存递归了的状态,自底向上根据递归式递推出下一个状态

arr[0] = 1;
	arr[1] = 1;

	for (int i = 2; i <= 4; i++)
	{
		arr[i] = arr[i - 1]*i;
	}
	cout << arr[4] << endl;
Scroll Up