面试金典--9.1

类似于斐波切数列,自下而上,添加备忘

 1 #include <iostream>
 2 #include <queue>
 3 #include <climits>
 4 #include <algorithm>
 5 #include <memory.h>
 6 #include <stdio.h>
 7 #include <ostream>
 8 #include <vector>
 9 #include <list>
10 #include <cmath>
11 #include <string>
12 #include <stdexcept>
13 #include <stack>
14 using namespace std;
15 
16 int dp[1000];
17 
18 //dp的核心是空间换时间,加备忘录是一个不错的选择
19 void fun(int n)
20 {
21     dp[1] = 1;
22     dp[2] = 2;
23     dp[3] = 4;
24     int i;
25     for(i = 1; i <= n ; ++i)
26     {
27         dp[n] = dp[n-1]+dp[n-2]+dp[n-3];
28     }
29     return;
30 }
31 
32 int main()
33 {
34     int n;
35     cin>>n;
36     fun(n);
37     cout<<dp[n];
38     return 0;
39 }
原文地址:https://www.cnblogs.com/cane/p/3795390.html