我已经编写了一个使用动态规划技术计算数字阶乘的小程序。
#include<stdio.h>
int fact(int n)
{
int f[n],i;
f[0] = 1;
for(i=1;i<=n;i++)
f[i] = i * f[i-1];
return f[n];
}
int main(void)
{
printf("\n Factorial of %d is %d ",5,fact(5));
return 0;
}
记忆化的方法是否正确?因为,动态规划涉及递归。但我在这里没有包含它。所以我不确定我的方法是否正确。
fact()
应该是一个递归函数,正如所需。 - Sourav Ghoshfact()
应该是一个递归函数。 - Sourav Ghoshf[n+1]
。 - Jean-Baptiste Yunèsf[n]
,那么数组必须有n+1
个元素。 - Jean-Baptiste Yunès