一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。
1 /** 2 * 问题描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共需要多少种跳法。 3 */ 4 #include <stdio.h> 5 6 // 递归算法 7 int faci(int n) 8 { 9 if (n == 0) 10 return 0; 11 else if (n == 1) 12 return 1; 13 else if (n == 2) 14 return 2; 15 else 16 return faci(n - 1) + faci(n - 2); 17 } 18 19 // 迭代算法 20 int faci_iter(int n) 21 { 22 if (n == 0) 23 return 0; 24 int a = 1, b = 2, c; 25 for (int i = 1; i < n; i++) 26 { 27 c = a + b; 28 a = b; 29 b = c; 30 } 31 return a; 32 } 33 int main() 34 { 35 // 测试 36 printf("%d\n", faci(10)); 37 printf("%d\n", faci_iter(10)); 38 return 0; 39 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端