【JS算法】动态规划 - 斐波那契数列

JavaScript05

【JS算法】动态规划 - 斐波那契数列,第1张

动态规划算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法。

其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。

与分治法不同,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立。即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解。

[0,1,1,2,3,5,8,13...]

递归写发

第一种方法可以在优化,因为不需要列出数组,只需要有前两值即可

题目出一个金额,和硬币面值。答:凑成这个金额所需的 最少的硬币个数

#include<stdio.h>

int main()

{

int n,i=1

double a=1,b=1

scanf("%d",&n)

if(n==1)

printf("1")

else if(n==2)

printf("1 1")

else

{

printf("1 1")

for(i=3i<=ni++)

{

b=a+b

a=b-a

printf(" %.f",b)

}

}

printf("\n")

return 0

}