【Java基础】递归方法
1.计算1-n之间所有自然数的和
public int getSum(int n){ if (n==1){ return 1; }else { return n+getSum(n-1); } }
2.计算1-n之间所有自然数的乘积,即n的阶乘:n!
public int getMultiply(int n){ if (n==1){ return 1; } return n*getMultiply(n-1); }
3.已知一个数列
已知一个数列:f(0) = 1,f(1) = 4,f(n+2)=2×f(n+1) + f(n),
其中n是大于0的整数,求f(10)的值。
直接return f(n+2)-2×f(n+1)
是错的,会报栈溢出。
设n+2 = t
f(n+2) = 2×f(n+1) + f(n),转化为
f(t) = 2×f(t-1)+f(t-2)
public int getFTen(int n){ if (n==0){ return 1; }else if (n==1){ return 4; }else { return 2*getFTen(n-1)+getFTen(n-2); } }
分类:
Java / JAVA基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本