【蓝桥杯-筑基篇】递归-递推
创始人
2025-05-30 07:58:17
0

🍓系列专栏:蓝桥杯

🍉个人主页:个人主页

目录

🍉1.求阶乘🍉

🍍2.斐波那契数列🍍

🍊3.汉诺塔🍊

🥝4.递推连分式开根号🥝


 

递归算法的基本思想是:把规模大的、较难解决的问题变成规模较小的、易解决的同一问题。规模较小的问题又变成规模更小的问题,并且小到一定程度可以直接得出它的解,从而得到原来问题的解。

书写递归时我们要考虑好以下三步:

这个函数从哪里开始?
这个函数从哪里结束?
这个函数每一步需要干什么?
 

🍉1.求阶乘🍉

例如:利用递归来求1到5的阶乘。5! = 5 * 4! ,4! = 4 * 3!,3! = 3 * 2!, 2! = 2 * 1!,1!=1;

所以可总结出当n>1时可用n!=n * (n-1)!来计算,当n=1或n=0时n!为1,因此可以得出以下代码。

public class A {public static void main(String[] args) {for (int j = 1; j <= 5; j++) {System.out.println(factorial(j));}}private static int factorial(int i) {// TODO Auto-generated method stubif(i==1) {return 1;}else return i*factorial(i-1);}}

这个方法会一直调用自己,直到  i  等于 1,然后返回 1。如果 i 不等于 1,就返回  i  乘以 factorial(  i - 1) 的结果。

🍍2.斐波那契数列🍍

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,

指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
 

public class Fibonacci {
public static int fibonacci(int n) {
if (n <= 1) {
return n;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
}

在这个代码中,我们使用递归的方式来实现斐波那契数列。如果 n 小于等于 1,我们直接返回 n。否则,我们递归地计算 fibonacci(n-1) 和 fibonacci(n-2),并将它们相加返回。

🍊3.汉诺塔🍊

汉诺塔(Tower of Hanoi),又称河内塔。源自印度古老传说的一个游戏,大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
 

推荐视频:递归,汉诺塔,最全面的讲解,没有之一_哔哩哔哩_bilibili

public class A {public static void main(String[] args) {int n = 3; // 汉诺塔的层数hanoi(n, 'A', 'B', 'C');}public static void hanoi(int n, char from, char temp, char to) {if (n == 1) {System.out.println("Move disk 1 from " + from + " to " + to);} else {hanoi(n - 1, from, to, temp);System.out.println("Move disk " + n + " from " + from + " to " + to);hanoi(n - 1, temp, from, to);}}
}

🥝4.递推连分式开根号🥝

 

public class SqrtDitui {public static void main(String[] args) {System.out.println(Math.sqrt(2));double ans=0;for(int i=1;i<=100;i++) ans=1.0/(2+ans);//x=1/(2+x)System.out.println(ans+1);}
}
1.4142135623730951
1.4142135623730951

相关内容

热门资讯

张家口一住宅楼交房两年地基下沉... 极目新闻记者 李贤诚 极目新闻此前报道,河北张家口一小区交房两年即现地基沉降,地下车库墙体及立柱多处...
适用多少国家?是否有施行期限?... 今天(11月23日),国家移民管理局针对单方面免签政策常见问题进行解答。 1.哪些国家人员可适用单方...
每周股票复盘:天宜新材(688... 截至2025年11月21日收盘,天宜新材(688033)报收于5.47元,较上周的6.41元下跌14...
万达再陷危机,王健林在崩溃边缘 来源:市场资讯 (来源:新行情) 生死存亡之际。 出品 | 新行情 作者 | 松涛 “眼看他起朱楼...
每周股票复盘:欧普照明(603... 截至2025年11月21日收盘,欧普照明(603515)报收于17.6元,较上周的18.3元下跌3....
曼城本轮输纽卡!大数据预测英超... 在英超第12轮的较量中,曼城以1-2不敌纽卡斯尔,这场比赛不仅令卫冕冠军的争冠之路蒙上阴影,也为阿森...
原创 4... 11月21日19点,湖北黄冈市黄州区某小区羽毛球馆,灯光惨白。43岁的刑辩律师林辉一个跃步劈杀,球拍...
7轮6负!英超-红军锋线集体梦... 北京时间11月22日23时,2025-26赛季英超联赛第12轮继续进行,坐镇安菲尔德球场的利物浦0-...
问法预告丨聚焦“保险理赔纠纷”... 保险为参保者提供兜底保障,是人们生活和工作过程中的贴心保障。可是,“保”到用时限制多的情况时有发生,...
原创 中... 据澎湃新闻报道,当地时间11月16日的福克斯新闻晨间节目里,美国财政部长贝森特的表态把中美战略博弈的...