递归调用

  • 计算斐波那契数
Copy
//每个数等于前两个数之和:1 1 2 3 5 8 13 21 34 55 ... public class Fibonacci { public static void main(String[] args) { int n = 10; System.out.println(new Fibonacci().Fib(n)); } public int Fib(int n) { if(n == 1) return 1; else if(n == 2) return 1; else return Fib(n-1)+Fib(n-2); } }
  • 求应公式的值
Copy
//已知一个数列:f(20) = 1,f(21) = 4,f(n+2) = 2*f(n+1)+f(n), //其中n是大于0的整数,求f(10)的值 public class Recursion_1 { public static void main(String[] atgs) { int n = 10; System.out.println(new Recursion_1().sum(n)); } public int sum(int n) { if(n == 20) { return 20; } else if(n == 21) { return 21; } else return sum(n+2)-2*sum(n+2); } }
  • 递归求乘阶(n)
Copy
public class Recursion_JieCheng { public static void main(String[] atgs) { System.out.println(new Recursion_JieCheng().fac(10)); } public int fac(int n) { if(n == 0 || n == 1) return 1; else return fac(n-1)*n; //每次递归的进入都是将n-1作为实参传递给形参,所以每次递归调用的方法所接收到的 //参数都比其外层接收到的参数小1; //每次递归出去的都是本层递归方法所返回的结果,结果返回至给上一层调用它的位置 } }
posted @   "无问西东"  阅读(185)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
网络创业项目 123how出海导航
点击右上角即可分享
微信分享提示