当前位置: 首页 > news >正文

蓝桥杯基础算法-递归

代码简洁,但涉及到的运算,会随着递归层数的增加成指数级增长

路分析:第20行20列位于45度这条线上

这条线上的数字是1 5 13 25 41...两数之差:4 8 12 16

--->每一个都是在前面的基础上+4,可以用递归或者循环

public class demo1{
    public static void main(String[] args){
        System.out.println(snack(20));
    }
    
    public static int snack(int n){
        if(n==1){
            return 1;
        }
        return snack(n-1)+4*(n-1);
    }
}

递归与循环的关系?

一道题,可以用递归解答。

1.可以换成循环解决吗-->可以-->代码量变多,运算资源(时间复杂度)

2.若发现题目用递归运行时间超出限制-->换循环 && 加字典(即动态规划)

--->加字典eg:

斐波那契数列:fn(5)=fn(4)+fn(3) fn(4)=fn(3)+fn(2)[将fn(3)和fn(2)存起来] fn(3)可以直接得出

辗转相除法:求最大公约数

1.两个整数的最大公约数等于其中较小的数和两数相除余数的最大公约数(gcd)

2.gcd(a,b)=gcd(b,a%b) (前提:a>b); 当b的值为0时,a就是要求的最大公约数

eg:

12&4=4&0=4

10&7=7&3=3&1=1&0=1

输入两个数,求最小公约数

法1:循环解法

public class demo2{
    public static void main(String[] args){
        //a>b  gcd(a,b)=gcd(b,a%b)
        int a=scan.nextInt();
        int b=scan.nextInt();
        while(b!=0){
            int c=a%b;
            a=b;
            b=c;
        }
        System.out.println(a);
    }
}

法2:递归解法

public class demo3{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        int zz=zz(a,b);
        System.out.println(zz);
    }

    public static int zz(int a,int b){
        if(b==0){
            return a;
        }
        int c=a%b;
        return zz(b,c);
    }
}

相关文章:

  • Efficient Burst Raw Denoising:稳定噪声方差和分频率降噪
  • EMA注意力机制
  • 数字游戏(继Day 10)
  • FreeRTOS临界区
  • mybatis是如何进行分页的?分页插件的原理是什么
  • 【学习笔记】HTTP和HTTPS的核心区别及工作原理
  • w283图书商城管理系统
  • Docker全方位指南
  • 嵌入式---加速度计
  • 原子化 CSS 的常见实现框架
  • 微软 SC-900 认证-考核Azure 和 Microsoft 365中的安全、合规和身份管理(SCI)概念
  • 从光波调制到温度补偿:Lilikoi光纤力传感器的核心技术拆解
  • 麦科信光隔离探头在碳化硅(SiC)MOSFET动态测试中的应用
  • Glowroot 是一个开源的 Java 应用性能监控(APM)工具,专为 低开销、易用性 设计,具体的应用及优势进行分析说明
  • 【Docker基础-镜像】--查阅笔记2
  • MySQL 查询重写怎样把复杂查询变简单,让查询提高一个“速”!
  • TCP三次握手和TCP四次挥手
  • 7-9 用天平找小球
  • HOW - 设计和实现一个动态渲染不同表单类型组件的 DynamicFormItem 组件
  • SpringBoot框架—Logger使用
  • 马上评|让查重回归促进学术规范的本意
  • 风雨天涯梦——《袁保龄公牍》发微
  • 山西临汾哪吒主题景区回应雕塑被指抄袭:造型由第三方公司设计
  • 日本广岛大学一处拆迁工地发现疑似未爆弹
  • 从这些电影与影像,看到包容开放的上海
  • 长沙查处疑似非法代孕:有人企图跳窗,有女子被麻醉躺手术台