1 #include <iostream> 2 #include <map> 3 4 using namespace std; 5 6 map<int, unsigned long long> fibMap; 7 unsigned long long fibDemo4(int i); 8 9 int main() 10 { 11 for (int i = 1; i < 50; i++) 12 { 13 cout << "i= " << i << ",fib result= " << fibDemo4(i)<< endl; 14 } 15 getchar(); 16 } 17 18 19 unsigned long long fibDemo4(int i) 20 { 21 map<int, unsigned long long>::iterator itr; 22 itr = fibMap.find(i); 23 if (itr!=fibMap.end()) 24 { 25 return itr->second; 26 } 27 28 if (i == 1 || i==2) 29 { 30 if (i == 1) 31 { 32 fibMap.insert(pair<int, unsigned long long>(1, 1)); 33 } 34 else 35 { 36 fibMap.insert(pair<int, unsigned long long>(2, 1)); 37 } 38 return 1; 39 } 40 else 41 { 42 unsigned long long result = fibDemo4(i - 2) + fibDemo4(i - 1); 43 fibMap.insert(pair<int, unsigned long long>(i, result)); 44 return result; 45 } 46 }
原文链接: https://www.cnblogs.com/Fred1987/p/14812234.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/401840
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!