斐波那契数列之DP
https://www.bilibili.com/video/BV1kWHPebEFu?t=79.0
1 #include <iostream> 2 #include <cstdio> 3 #include <vector> 4 using namespace std; 5 vector<int> Fibonacci(int n) { 6 vector<int> fib; 7 int k = 1; 8 fib.push_back(0); 9 fib.push_back(1); 10 while (fib[k] <= n) { 11 k++; 12 fib[k] = fib[k - 1] + fib[k - 2]; 13 if (fib[k] <= n) fib.push_back(fib[k]); 14 } 15 16 return fib; 17 } 18 19 20 int main() { 21 int n = 1e8; 22 23 // printf("请输入数n(n>=0):"); 24 // scanf("%d", &n); 25 26 double beginTime = clock(); 27 printf("小于等于%d的斐波那契数列是:", n); 28 for (int num : Fibonacci(n)) { 29 cout << num << " "; 30 } 31 double endTime = clock(); 32 printf("\ntime=%.0lfms", endTime - beginTime); 33 34 return 0; 35 }
浙公网安备 33010602011771号