【Java】使用For和递归解决不死神兔问题,求第20个月兔子的对数
package LearnJava9;
public class DiGuiDemo {
public static void main(String[] args) {
// 不死神兔问题,求第20个月兔子的对数
// 每个月兔子对数1、1、2、3、5、8....
int []arr=new int[20];
arr[0]=1;
arr[1]=1;
for (int i=2;i< arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println(arr[19]);
System.out.println(f(20));//StackOverflowError
}
/*
* 递归解决问题,首先就是定义一个方法:
* 定义一个方法f(n),表示第n个月的兔子对数
* 那么,第n-1个月兔子对数该如何表示?f(n-1)
* 第n-2个月兔子对数该如何表示?f(n-2)
* */
public static int f(int n){
if ((n==1||n==2)){
return 1;
}else {
return f(n-1)+f(n-2);
}
}
}
作者:木子欢儿
出处:https://www.cnblogs.com/HGNET/p/16154084.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
部分文章来源于网络,如疏漏未标注原文地址或侵权,请联系进行删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2020-04-16 【Liunx】manjaro双系统安装(折腾)教程