0
点赞
收藏
分享

微信扫一扫

手把手带你解析蓝桥云课《算法很美》--2.1什么是递归


目录

  • ​​第2章的目标​​
  • ​​递归的学习方法​​
  • ​​递归求n的阶乘​​
  • ​​打印i-j​​

第2章的目标

手把手带你解析蓝桥云课《算法很美》--2.1什么是递归_算法

递归的学习方法

手把手带你解析蓝桥云课《算法很美》--2.1什么是递归_n的阶乘_02

递归求n的阶乘

import java.util.Scanner;

public class 求n的阶乘 {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in =new Scanner(System.in);
int n=in.nextInt();
System.out.println(f1(n));
}

/*
* f1(n):求n的阶乘-->f(n-1)求n-1的阶乘
* 找重复:n*(n-1)的阶乘,求n-1的阶乘是原问题的重复,(规模更小)--子问题
* 找变化:变化的量应该作为参数
* 找边界:出口
*/
static int f1(int n) {
if(n==1)//出口,到1时,反弹回去计算
return 1;
return n*f1(n-1);
}

}

打印i-j

手把手带你解析蓝桥云课《算法很美》--2.1什么是递归_蓝桥杯_03


自己做一部分,剩下的委托出去

自己打印i,i+1就委托出去

import java.util.Scanner;

public class 打印i到j {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in =new Scanner(System.in);
int i=in.nextInt();
int j=in.nextInt();
f2(i,j);
}

/*
* 找重复:
* 找变化:变化的量应该作为参数
* 找边界:出口
*/
static void f2(int i,int j) {
if(i>j) {
return;//出口
}
System.out.println(i);
f2(i+1,j);
}
}

链接: ​​最全的2021蓝桥杯算法课《算法很美》的学习笔记总目录​​.


举报

相关推荐

0 条评论