C++ optimized fib function via map
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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2016-05-26 遍历磁盘文件
2016-05-26 UserControl关闭
2016-05-26 WPF中Button的背景图片,实现禁止IsMouseOver时显示默认