动态规划实现斐波那契数列求解
生活随笔
收集整理的這篇文章主要介紹了
动态规划实现斐波那契数列求解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
int fibonacciDP1(int n) { // 動態規劃不使用數組int a = 0;int b = 1;int sum;int i;if (n == 0)return 0;if (n == 1)return 1;for (int i = 0; i < n - 1; i++) {sum = a + b;a = b;b = sum;}return sum;
}int fibonacciDP2(int n) { // 動態規劃使用數組int *a = new int[n+1];a[0] = 0, a[1] = 1;for (int i = 2; i < n+1; i++) {a[i] = a[i - 1] + a[i - 2];}return a[n];
}int fibonacci(int n) { // 遞歸法實現斐波那契數列if (n == 1 || n == 2) {return 1;}else {return fibonacci(n - 1) + fibonacci(n - 2);}
}
復制代碼
補充
自下而上的動態規劃算法
using namespace std;int temp[100]; int calculate(int *price, int n){temp[0] = 0;int a;for(int i = 1; i <= n; ++i) {a = -128;for(int j = 1; j <= i; ++j){if(a < price[j] + temp[i - j]){a = price[j] + temp[i - j];}}temp[i] = a;}return temp[n]; }int main() {int p[11] = {0,1,5,8,9,10,17,17,20,24,30};int n = 10;cout<<calculate(p, n)<<endl;return 0; } 復制代碼 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的动态规划实现斐波那契数列求解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10进制颜色 转换成 16进制
- 下一篇: [MetalKit]14-Ray-tra